私はCaliburnフレームワークを使用してWPFでプロジェクトを書き直しています。私はC++の世界から来ていますので、最も単純なものを見つけ出すのにはいくつかの困難があります。OKアクションでのCaliburn MVVM WPFダイアログ
MainView、MainViewModel、DialogView、DialogViewModelがあります。 MainView.xamlで
: ...
<MenuItem Name="Dialog" Header="Dialog"></MenuItem>
... MainViewModelのメソッドへ カリバーンの境界を:
public void Dialog()
{
dynamic settings = new ExpandoObject();
settings.WindowStartupLocation = WindowStartupLocation.Manual;
_windowManager.ShowWindow(new DialogViewModel(_windowManager), null, settings);
}
それは正常に動作し、ダイアログがポップアップ表示されます。
さて、このダイアログでは私が持っている:
<TextBox Name="Dimension1"/>
<TextBox Name="Dimension2"/>
プラス、他のテキストボックス、チェックボックスなど そこOKですし、キャンセルボタン:
<Button Content="OK" Name="OK"></Button>
<Button Content="Cancel" Name "Cancel"></Button>
を今、それが今であるとしてDialogViewModelのOK()メソッドとCancel()メソッドにバインドされているため、DialogViewModelでそれらを処理する方法に関する情報を見つけることはできません。
DialogResultsActionクラスが作成されたときに、このクラスのメソッドでOK/Cancelボタンをバインドできますが、さらに進める方法を理解できない例が見つかりました...
私は行く?
あなたはカリバーンマイクロが付属していたサンプルで見たことがありますか?マイクロを使用していない場合は、それを見たいかもしれません。 –
私はMicroを使用しています。サンプルを調べます。あなたは特別なものをお勧めできますか? – user1298416
HelloWindowManagerを調べています。ユーザーがダイアログ内の特定のボタンをクリックすると、ボタンのデータコンテキストがViewModelに渡されます。私の場合は、1つのダイアログに約20個のテキストボックス、チェックボックス、ラジオボタンがあります。それらをすべてViewModelのパラメータとして渡すべきですか、それを行うもっとエレガントな方法がありますか? – user1298416