質問
SCSF で 1 つの問題に直面しています。
ワークスペースが 2 つあります
- Mdiワークスペース
- デッキワークスペース
モジュールに 2 つのビューがあります
- ビューア(mdiworkspaceで表示)
- プロパティ ビューア (デッキワークスペース内)
ビューアには、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); }
所属していません StackOverflow