SCSF: Exibir exibição de outra visualização contra o botão Clique
Pergunta
Estou enfrentando um problema no SCSF.
Eu tenho dois espaços de trabalho
- Mdiworkspace
- Deckworkspace
Eu tenho duas visualizações em um módulo
- Visualizador (exibição no mdiworkspace)
- Visualizador de propriedades (no Deckworkspace)
No visualizador, tenho um botão na barra de ferramentas cujo objetivo é exibir o PropertyViewer (outra visualização).
Como posso exibir este PropertyViewer no evento DeckWorkWorkspace Agaist Clique em Evento.
NOTA: Não estou usando comando [commandName] .addinvoker (Control, "Clique :) e CommandHandler
Solução
Vou assumir que sua barra de ferramentas está em uma parte inteligente que implementa o padrão MVP. Faça com que o manipulador de eventos de clique em Button no SmartPart dispare um evento que seu apresentador lidará. O código do seu apresentador ficaria assim:
// 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); }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow