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>

在视图模型中

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 回答