SCSF:根据按钮单击从另一个视图显示视图

时间:2009-09-02 06:08:35

标签: cab scsf

我在SCSF面临一个问题。

我有两个工作区

  1. MdiWorkspace
  2. DeckWorkspace
  3. 我在模块中有两个视图

    1. 查看器(在mdiworkspace中显示)
    2. Property Viewer(在deckworkspace中)
    3. 在Viewer中的

      我在工具栏中有一个按钮,其目的是显示PropertyViewer(另一个视图)。

      如何在deckworkspace agaist按钮点击事件中显示此PropertyViewer。

      注意:我没有使用Command [CommandName] .AddInvoker(control,“click :)和CommandHandler

1 个答案:

答案 0 :(得分:1)

我将假设您的工具栏位于实现MVP模式的SmartPart中。让SmartPart中的按钮单击事件处理程序触发其演示者将处理的事件。您的演示者代码如下所示:

// 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);
}