IsEnabled 的 WPF 元素数据绑定(但为 false)
我是 WPF 的初学者,有一些事情我似乎无法弄清楚。
我有一个 CheckBox
,我想在未选择 RadioButton
时禁用它。 我当前的语法是:
<CheckBox IsEnabled="{Binding ElementName=rbBoth, Path=IsChecked}">Show all</CheckBox>
所以基本上,我希望 IsEnabled 采用与我当前提供的绑定表达式相反的值。
我该怎么做?谢谢。
I'm a starter in WPF, and there's something I can't seem to figure out.
I have a CheckBox
that I would like to disable when a RadioButton
is not selected.
My current syntax is:
<CheckBox IsEnabled="{Binding ElementName=rbBoth, Path=IsChecked}">Show all</CheckBox>
So basically, I want IsEnabled to take the opposite value than the binding expression I'm currently supplying.
How can I do this? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要使用所谓的值转换器(实现 IValueConverter 的类)。下面显示了此类的一个非常基本的示例。 (注意剪裁...)
然后要将其包含在您的 XAML 中,您将执行以下操作:
You need to use what's called a value converter (a class that implements IValueConverter.) A very basic example of such a class is shown below. (Watch for clipping...)
Then to include it in your XAML you would do something like:
这个怎么样:
为布尔值创建一个转换器:
在 xaml 中导入实现逆变器类的命名空间:
在资源部分添加引用逆变器类:
然后像这样简单地使用它:
How about this one:
Create a converter for booleans:
in the xaml import the namespace where the inverter class is implemented:
In the resource section add reference the inverter class:
And then just simply use it like this:
您当前的语法已经满足您的需要。如果未选中单选按钮,它将禁用该复选框。
如果你真的想反转场景,你只需要一个转换器。看看这个示例。
Your current syntax already serves your need. It will disable the checkbox if the radiobutton is not checked.
If you really want to invert the scenario, all you need is a Converter. Take a look at this sample.