0

Prism を使用して Windows ストア アプリをセットアップしました。ビューモデルにアクションを通知するコマンドを使用する必要がありますが、この場合はボタンを使用できません。ビューからビューモデルで定義されたコマンドを起動する方法はありますが、ビュー/ビューモデルが密接に結合されないように、不可知論的な方法で実行する方法はありますか?

4

2 に答える 2

2
if(command.CanExecute(parameter))
    command.Execute(parameter);
于 2013-06-25T01:50:52.450 に答える
1

呼び出しコマンドをコード ビハインドに入れたい場合は、Aron が提案したことを行うことができます。

コード ビハインドが気に入らない場合や、DataTemplate のようにコード ビハインドが難しい場合は、コマンドをトリガーする条件を考える必要があります。コマンドが何らかのイベントによってトリガーされる場合、以下のように Prism を使用できます。また、Prism に組み込まれている他のトリガーを選択したり、自分でトリガーを記述したりすることもできます。

<i:Interaction.Triggers>
    <i:EventTrigger EventName="FrameworkElement.Loaded">
        <i:InvokeCommandAction Command="{Binding LoadCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

より複雑なロジックがある場合は、ICommand DependencyProperty を使用して動作を記述できます。ViewModel のコマンドを DependencyProperty にバインドし、動作で使用します。

于 2013-06-25T02:45:30.157 に答える