我正在使用MVVM模式,我的视图的数据上下文具有一个名为Customer的属性。现在我想根据Customer.CustomerID属性的值来绑定我的文本框的IsEnabled属性。如果它大于0,那么它应该启用,否则禁用。
我知道我可以很容易地在视图模型中添加一个bool属性,并将其绑定到我的文本框的IsEnabled属性,但这似乎有些过度设计。
我正在使用MVVM模式,我的视图的数据上下文具有一个名为Customer的属性。现在我想根据Customer.CustomerID属性的值来绑定我的文本框的IsEnabled属性。如果它大于0,那么它应该启用,否则禁用。
我知道我可以很容易地在视图模型中添加一个bool属性,并将其绑定到我的文本框的IsEnabled属性,但这似乎有些过度设计。
有几个选项。
首先,您可以使用DataTrigger。
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="IsEnabled" Value="True"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Customer.CustomerID}" Value="0" >
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
<TextBox>