我有一个XAML按钮的IsEnabled属性,当前配置了以下数据绑定:
<Button Name="ThirdPartyPostoneButton" Content="Postpone"
Click ="postponeThirdPartyUpdatesButton_Click" Margin="5,5,0,0"
Height="25" IsEnabled="{Binding Item3.CanDefer}"/>
我还需要添加IsEnabled="{Binding Item3.InstallSourceExists}"
的检查(换句话说,必须满足两个条件才能启用按钮)。我怎么能做到这一点?
答案 0 :(得分:4)
我能想到的两个选择: -
使用MultiBinding加上自定义IMultiValueConverter
,检查两个值是否为真。
在你的&#34; Item3&#34;上展示一个新属性。如果其他属性都为True,则返回true的模型。这是一种更简洁的方法,意味着如果将来逻辑发生变化(例如,您需要包含第三个bool属性),则不必触摸您的XAML。
答案 1 :(得分:0)
使用像这样的多重绑定:
<Button Name="ThirdPartyPostoneButton" Content="Postpone" Click ="postponeThirdPartyUpdatesButton_Click" Margin="5,5,0,0" Height="25" >
<Button.IsEnabled>
<MultiBinding Converter="{StaticResource MyCustomConvertor}">
<Binding Path="Item3.CanDefer"/>
<Binding Path="Item3.InstallSourceExists"/>
</MultiBinding>
</Button.IsEnabled>
</Button>