2

私はバインディングとWPFにかなり慣れていませんが、バインディングを使用していくつかの興味深いことを行うことができました(少なくとも私にとっては興味深い)

イベント(たとえば、SelectionChanged o Clickイベントなど)をプロパティ(たとえば、IsChecked、IsEnabledなど)にバインドできるかどうかを知っていますか?

プロパティをPathプロパティとすべてにバインドできることはわかっています。

4

1 に答える 1

2

イベントをコマンドにバインドしたい場合は、アタッチされた動作を介して行うことができます。MVVM Light でそれを行う方法については、このブログをご覧ください。へのバインドIsEnabledはあまり意味がありません

彼らが与える例は次のとおりです。

<Button>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Click" >
            <i:InvokeCommandAction Command="{Binding FooCommand}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>

ViewModel で

public MyViewModel()
{
    //set it as a toggle for example
    FooCommand = new RelayCommand( () => IsChecked = !IsChecked );
 }    

public ICommand FooCommand { get; private set; }

public bool  IsChecked
{
   get { return _isChecked; }
   set { _isChecked = value;
        RaisePropertyChanged("IsChecked"); }
}
于 2012-05-03T23:30:20.673 に答える