げんさん日記

プログラミングで気付いた事等を書きます。

ViewModelからBehaviorのコマンドを実行する。

2020年08月31日 11時04分23秒 | WPF
ViewModelからコントロールに処理を実行したい場合があります。定義方法を下記に記します。
Behaviorにコマンドを定義します
public static readonly DependencyProperty CreateImageProperty = DependencyProperty.Register("CreateImageCommand", typeof(ICommand), typeof(InkCanvasBehavior), new PropertyMetadata(null));

XamlのコントロールにBehaiviorを定義します。その時のModeを『OneWayToSource』に設定します。
<i:Interaction.Behaviors />
    <beh:InkCanvasBehavior
        CreateImageCommand="{Binding CreateImageCommand,Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" />

ViewModelからコマンドを実行します
this.CreateImageCommand.Execute(null);