SCSF:ボタンのクリックに対して別のビューからビューを表示する

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

  •  21-09-2019
  •  | 
  •  

質問

SCSF で 1 つの問題に直面しています。

ワークスペースが 2 つあります

  1. Mdiワークスペース
  2. デッキワークスペース

モジュールに 2 つのビューがあります

  1. ビューア(mdiworkspaceで表示)
  2. プロパティ ビューア (デッキワークスペース内)

ビューアには、PropertyViewer(別のビュー)を表示することを目的としたツールバーのボタンがあります。

ボタンのクリックイベントに対してデッキワークスペースでこの PropertyViewer を表示するにはどうすればよいですか。

注記: Command[CommandName].AddInvoker(control, "click:) と CommandHandler を使用していません

役に立ちましたか?

解決

私はあなたのツールバーが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);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top