Question

Je suis face à l'un problème dans SCSF.

J'ai deux espaces de travail

  1. MdiWorkspace
  2. DeckWorkspace

J'ai deux vues dans un module

  1. Viewer (affichage dans mdiworkspace)
  2. Observateur de la propriété (en deckworkspace)

dans Viewer j'ai un bouton dans la barre d'outils dont le but est d'afficher PropertyViewer (autre vue).

Comment puis-je afficher ce PropertyViewer dans deckworkspace agaist bouton événement click.

Remarque: Je ne suis pas en utilisant la commande [CommandName] .AddInvoker (contrôle « , cliquez sur :) et CommandHandler

Était-ce utile?

La solution

Je vais supposer que votre barre d'outils se trouve dans un SmartPart qui implémente le modèle MVP. Avoir le bouton gestionnaire d'événements, cliquez dans le feu d'un événement SmartPart que son présentateur se chargera. Votre code présentateur ressemblerait à ceci:

// Presenter code

protected override void OnViewSet()
{
   this.View.ToolbarButtonClick += View_ToolbarButtonClick;
}

public void View_ToolbarButtonClick(object sender, EventArgs e)
{
    // remove the handler so the property viewer 
    // will only be added the first time
    this.View.OnToolbarButtonClick -= View_ToolbarButtonClick;

    var propertyView = new PropertyViewer();
    this.WorkItem.Workspaces[WorkspaceNames.MyDeckWorkspace].Show(propertyView);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top