2009-09-02 19 views
0

SCSFでは1つの問題に直面しています。SCSF:ボタンをクリックして別のビューからビューを表示

私はモジュール

  1. ビューア(mdiworkspaceで表示)
  2. プロパティビューア(2つのビューを持つ2つのワークスペース

    1. MdiWorkspace
    2. DeckWorkspace

    を持っていますデッキワークスペースで)

ビューアには、プロパティビューア(別のビュー)を表示するためのツールバーにボタンがあります。

deckworkspaceのagaistボタンのクリックイベントでこのPropertyViewerを表示する方法を教えてください。

注:私はあなたのツールバーがMVPパターンを実装しSmartPartに座っていると仮定するつもりコマンド[のCommandName] .AddInvoker(コントロール、「クリック:)とCommandHandler

答えて

1

を使用していないことがあります。 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); 
} 
関連する問題