1

したがって、View の Loaded イベントを ViewModel のコマンドにバインドするために、GalaSoft の EventToCommand を使用しています。バインディングはうまく機能していますが、私のコマンドが実行されることはありません。これを機能させる唯一の方法は、View のコード ビハインドで Loaded イベントを処理し、DataContent を VM にキャストして、コードを実行するように指示することです (コマンドが実行しようとしています)。明らかに、MVVM のようにすべてを実行しようとすると、これはあまり良くありません。参考までに、私は MouseEnter イベントを試してみましたが、うまく機能したので、タイミングの問題だと思います。また、私のビューはユーザー コントロールです。

意見:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="Loaded">
         <cmd:EventToCommand PassEventArgsToCommand="False" Command="{Binding Path=DownloadDataCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

ビューモデル:

public RelayCommand DownloadDataCommand
{
    get { return new RelayCommand(() => DownloadDataAsync()); }
}

ほとんど何もしない単純なメソッドを呼び出してみましたが、リレー コマンドはまだ呼び出されません。したがって、RelayCommand 内でのアクションには疑問があります。誰かが私が間違っていることを見ていますか?

4

0 に答える 0