我正在尝试使用多绑定设置一个按钮的IsEnabled属性,因为这个属性取决于三个变量。
如果我要设置content属性,我可以使用下面的代码:
<Button Height="23" HorizontalAlignment="Left" Margin="629,49,0,0" Name="btnMyButton" VerticalAlignment="Top" Width="75">
<Button.Content>
<MultiBinding Converter="{StaticResource myMultiValueConverter}">
<Binding ElementName="MyElement"/>
<Binding />
</MultiBinding>
</Button.Content>
</Button>
我尝试使用这个代码:
<Button Height="23" HorizontalAlignment="Left" Margin="629,49,0,0" Name="btnMyButton" VerticalAlignment="Top" Width="75">
<Button.IsEnabled>
<?????
但是在这种情况下,虽然Button。IsEnabled是可用的,在下一行我找不到Multibinding关键字,所以我不能用IsEnabled属性使用Multibinding。
为什么?是否有任何方法来设置IsEnabled属性与多值转换器?
谢谢。
语法应该与您对Button.Content
的语法完全相同-只需将"Content"
替换为"IsEnabled"
。
<Button.IsEnabled>
<MultiBinding Converter="{StaticResource myMultiValueConverter}">
<Binding ... />
<Binding ... />
<Binding ... />
</MultiBinding>
</Button.IsEnabled>
它可能不会自动完成,因为IsEnabled
属性期望一个布尔值,而不是MultiBinding
对象,但它不会给你任何错误,并且会编译和执行得很好。
(它自动完成Button.Content
,因为Content
属性类型是object
,其中包括一个MultiBinding
对象)