关注earlier post我现在正在尝试将DataGridColumns的可见性绑定到VM通知属性。 MSDN表明我应该能够轻松地做到这一点。
我已经有一个我知道的值转换器和VM通知属性(我已经在我的页面上的另一个元素上测试了这些:
<CheckBox x:Name="chkAllTeams" Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"/>
此复选框控件可见性会像我预期的那样做出反应。当我在DataTextColumn上设置相同的绑定时,我在XAML的 Visibility = 行上得到AG_E_BAD_PARSER错误:
<data:DataGridTextColumn
Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"
/>
任何想法? 谢谢, 标记
答案 0 :(得分:9)
DataGridTextColumn上的可见性是复选框上的另一个野兽。基本上,它不是依赖属性,不能是数据绑定的。如果需要此功能,可以继承DataGridTextColumn并添加自己的依赖项属性以获取行为。
答案 1 :(得分:1)
我添加了一个类似问题的答案:Silverlight: How to bind DataGridColumn.Visibility?
答案 2 :(得分:-1)
您是否将BoolToVisibilityConverter设置为资源?
答案 3 :(得分:-2)
您需要使用datatemplate:
&lt; DataTemplate x:Key =“cBDT”&gt;
&lt;(UIELEMENT HERE)x:Name =“chkAllTeams”Visibility =“{Binding Converter = {StaticResource BoolToVisibilityConverter},Path = AllTeams}”/&gt;
&LT; / DataTemplate中&GT;
如前所述,只有UIElement具有“可见性”依赖属性。
要在上下文中查看此示例: