0

プロパティからウィンドウ設定を取得し、MVVMモデルを使用するときにウィンドウXAMLでそれらを「双方向」にバインドする方法に関するいくつかの投稿を読みました。しかし、常に、作成者はそれらをコードビハインドに保存することになります。

void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    Properties.Settings.Default.Save(); 
} 

プロパティを保存するクラスルーチンにバインドするようにMainWindowXAMLを設定したいと思います。私は次のような何かがあるべきだと思います:

WindowClosing="{Binding MyClosingEventRoutine}"
4

2 に答える 2

4

Blend SDK または MVVM Light から EventTrigger 動作を使用できます。ビューモデルでコマンドを閉じるウィンドウで呼び出されます。

<Window xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity">
<i:Interaction.Triggers>
    <i:EventTrigger EventName="Closing" >
        <i:InvokeCommandAction Command="{Binding MyClosingEventRoutine}" />
    </i:EventTrigger>
</i:Interaction.Triggers>
</Window>
于 2012-06-18T06:26:54.660 に答える
0

あなたの投稿からはわかりにくいですが、古いコード ビハインドが気に入らないので、MVVM を実行していると思いますか? その場合は、MVVM フレームワークから、コマンドに対してイベントを実行するコードの一部を取得できます。これにより、次のリンクに従って、ウィンドウを閉じるイベントをビューモデルのコマンドにバインドできます

于 2012-06-18T00:55:32.150 に答える