绑定到 WPF ToggleButton 的 IsChecked 状态
我想使用 WPF ToggleButton
来展开和折叠应用程序中的某些控件。我如何使用 XAML 来完成此任务?
我想我可以以某种方式将某些控件的 Visibility
属性绑定到 ToggleButton
的 IsChecked
状态,但我不知道如何来做到这一点。
也许我需要给我的 ToggleButton
一个 Name
,然后使用 ElementName
进行绑定?然后我需要一个 ValueConverter
来在布尔值和可见性之间进行转换,对吗?我如何为此目的制作一个通用的 ValueConverter ?
I would like to use a WPF ToggleButton
to expand and collapse some controls in my application. How can I use XAML to accomplish this?
I'm thinking that I could somehow bind the Visibility
attribute of some controls to the ToggleButton
's IsChecked
state, but I do not know how to do this.
Maybe I need to give my ToggleButton
a Name
, then bind using ElementName
? Then I would need a ValueConverter
for converting between a boolean value and a Visibility, correct? How could I make a generic ValueConverter
for this purpose?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要通过转换器绑定
Visibility
:在 Silverlight 中没有
BooleanToVisibilityConverter
,但您可以轻松编写自己的一些附加功能:现在您可以指定一个转换器将
true
映射到Collapsed
并将false
映射到Visible
:You need to bind the
Visibility
through a converter:In Silverlight there is no
BooleanToVisibilityConverter
but it is easy to write your own with some added features:Now you can specify a converter that maps
true
toCollapsed
andfalse
toVisible
:使用 BooleanToVisibilityConverter:
Use the BooleanToVisibilityConverter:
您是否有理由不只使用 Expander?无论如何,它是基于 ToggleButton 的。
Is there a reason why you aren't just using the Expander? It's based on the ToggleButton anyway.