[英]Is it possible to bind the visibility property of an element to an XML with WPF?
我有一个包含很多信息的XML,但是有些信息除非它存在于xml中,否则不应该显示。 我知道我可以手动执行此操作,但这不是很好。
想象一下这样的xml:
<root>
<MandatoryContent />
<OptionalContent />
</root>
我想将按钮的可见性属性绑定到OptionalContent元素的存在。 可能吗?
您可以将元素直接绑定到其表示的对象,然后使用转换器将可见Visibility.Visible
设置为Visibility.Visible
不为null时)。
<Label Visibility="{Binding MyObject, Converter={StaticResource NullToVisibilityConverter}} />
确保在资源中声明您的转换器
<win:CustomWindow.Resources>
<Converters:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
</win:CustomWindow.Resources>
如果您想要一个很好的转换器示例,请访问MSDN http://msdn.microsoft.com/zh-cn/library/system.windows.data.ivalueconverter.aspx ,这里是IValueConverter。
您不能直接绑定到XML,但是可以使用某些东西从XML创建对象。
LinqToXSD是一个很好的候选人。
它的工作方式如下:创建Xml Schema,LinqToXSD根据您的模式创建类,然后您可以读取XML,它将基于XML创建整个对象树。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.