为什么不能将多重绑定与按钮的 IsEnabled 属性一起使用?



我正在尝试使用多绑定设置一个按钮的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对象)

相关内容

  • 没有找到相关文章

最新更新