SCSF: vue d'affichage d'une autre vue contre cliquage
Question
Je suis face à l'un problème dans SCSF.
J'ai deux espaces de travail
- MdiWorkspace
- DeckWorkspace
J'ai deux vues dans un module
- Viewer (affichage dans mdiworkspace)
- 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
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