WPF 按钮 IsEnabled 检查多个绑定

use*_*256 3 c# wpf

我目前配置了以下数据绑定的 XAML 按钮的 IsEnabled 属性:

<Button Name="ThirdPartyPostoneButton" Content="Postpone"
        Click ="postponeThirdPartyUpdatesButton_Click" Margin="5,5,0,0"
        Height="25" IsEnabled="{Binding Item3.CanDefer}"/>
Run Code Online (Sandbox Code Playgroud)

我还需要添加一个检查IsEnabled="{Binding Item3.InstallSourceExists}"(换句话说,必须满足两个条件才能启用按钮)。我怎样才能做到这一点?

And*_*ens 5

我能想到的两个选项:-

  1. 使用 MultiBinding 加上IMultiValueConverter检查两个值都为真的自定义。

  2. 在“Item3”模型上公开一个新属性,如果其他属性都为 True,则该属性仅返回 true。这是一种更简洁的方法,意味着如果将来逻辑发生变化(例如,您需要包含第三个 bool 属性),您就不必接触 XAML。