2009-09-02 7 views
0

Je suis confronté à un problème dans SCSF.SCSF: afficher la vue depuis une autre vue par rapport au bouton cliquer

J'ai deux espaces de travail

  1. MdiWorkspace
  2. DeckWorkspace

j'ai deux vues dans un module

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

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

comment puis-je afficher ce PropertyViewer dans l'événement de clic de bouton agaist de deckworkspace.

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

Répondre

1

Je vais supposer que votre barre d'outils se trouve dans un SmartPart qui implémente le modèle MVP Avez le gestionnaire d'événements de clic de bouton de la SmartPart déclenche un événement que son présentateur va gérer Votre code de présentation devrait ressembler à 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); 
} 
Questions connexes