私はWPF、XAML、およびデータバインディングが比較的新しいです。私はビュー(ウィンドウ)とビューモデルを持っています。ビューのDialogResultをViewModelsプロパティにバインドしますか?
MVVMパターンを実装しようとしました。これは、ビューもビューモデルも互いに参照を保持しないことを意味します。すべてのデータ交換はデータバインディングを介して行われます。
これまでのところ良いことだが、今私は解決策を見つけることができない問題にぶつかった。
私の見解では、コマンドにバインドされたボタンStartがあります。
<Button Command="{Binding NextCommand}" Content="Next">
NextCommandは、私の場合はタイプActionCommand : ICommand
であるNextCommand単にビュー、モデル内のプライベートメソッドを呼び出します。
私がこれまでに解決策を見つけることができない問題は、次のとおりです。
ビューモデルNextCommandAction方法の最後にウィンドウを閉じるには、どのように?
private void NextCommandAction(object o)
{
...
...
// close the window
}
私はちょうどDialogResult = true;
私がこれまでに発見した唯一の作業溶液は、ビューに隠されたラジオボタンを追加します、それをバインドすることを設定することはできませんビューへの参照を持っていないので、値をプロパティCloseViewに追加し、非表示のラジオボタンのCheckedイベントにバインドされているxaml.csファイル内のメソッドCloseViewを作成します。そのメソッド内でDialogResult = trueを設定します。
これは機能しますが、私はあなたのビューに隠し要素を追加するよりも優れた解決策が必要だと思います!
ご協力いただきありがとうございます。
PS:私の質問は明らかです。何か不明な点がある場合はお気軽にお問い合わせください。