vista de la pantalla desde otro punto de vista en contra de clic de botón: SCSF

StackOverflow https://stackoverflow.com/questions/1366057

  •  21-09-2019
  •  | 
  •  

Pregunta

estoy frente a un problema en SCSF.

Tengo dos espacios de trabajo

  1. MdiWorkspace
  2. DeckWorkspace

tengo dos puntos de vista en un módulo?

  1. Visor (pantalla en mdiworkspace)
  2. Visor de propiedad (en DeckWorkspace)

en el Visor tengo un botón en la barra de herramientas cuyo propósito es mostrar PropertyViewer (otra vista).

¿cómo puedo mostrar este PropertyViewer en DeckWorkspace Agaist evento clic del botón.

Nota: No estoy usando comandos [CommandName] .AddInvoker (control ", haga clic :) y CommandHandler

¿Fue útil?

Solución

Me voy a asumir su barra de herramientas se encuentra en un SmartPart que implementa el patrón MVP. Tener el controlador de eventos de clic de botón en el SmartPart disparar un evento que su presentador manejará. Su código presentador se vería así:

// 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top