2
性能,反之亦然我是相当新的绑定和WPF,但我已经能够(至少对我有意思)绑定的做一些有趣的东西事件绑定到WPF中
是否anyoine知道如果可以将一个事件(例如SelectionChanged或Click事件等)绑定到一个属性(例如:IsChecked,IsEnabled等)?
我知道我可以绑定属性与路径属性和所有。
性能,反之亦然我是相当新的绑定和WPF,但我已经能够(至少对我有意思)绑定的做一些有趣的东西事件绑定到WPF中
是否anyoine知道如果可以将一个事件(例如SelectionChanged或Click事件等)绑定到一个属性(例如:IsChecked,IsEnabled等)?
我知道我可以绑定属性与路径属性和所有。
如果要将事件绑定到Commands,可以通过Attached Behavours来完成。看看this blog关于如何用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"); }
}
我知道结合的IsEnabled没有意义,但我定义了一个例子。所以这会让我把事件绑定到命令上。我会明天尝试,然后我会回复。有没有办法让我使用Converter或其他任何绑定属性?很抱歉,如此多的问题,但绑定是非常有趣的,但相当混乱 – morcillo
绑定在WPF是真棒...你绑定到命令的原因是,隐喻是相同的。你可以在命令执行内设置另一个属性值。我会更新答案 – aqwert