0

我正在尝试使用多重绑定设置按钮的 IsEnabled 属性,因为此属性取决于三个变量。

如果我要设置内容属性,我可以使用以下代码:

<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 属性一起使用。

为什么?有没有办法用多值转换器设置 IsEnabled 属性?

谢谢。

4

1 回答 1

3

语法应该与您所使用的完全相同Button.Content- 只需替换"Content""IsEnabled".

<Button.IsEnabled>
    <MultiBinding Converter="{StaticResource myMultiValueConverter}">
        <Binding ... />
        <Binding ... />
        <Binding ... />
    </MultiBinding>
</Button.IsEnabled>

它可能不会为您自动完成,因为该IsEnabled属性需要一个布尔值,而不是MultiBinding对象,但它不应该给您任何错误,并且可以正常编译和执行。

(它会自动完成,Button.Content因为该Content属性是 type object,其中包括一个MultiBinding对象)

于 2013-04-29T16:49:35.777 回答