Following my earlier post I am now trying now to bind the visibility of DataGridColumns to a VM notification property. MSDN suggests I should be able to do this with ease.
I already have a value convertor and VM notification property that I know works (I have tested these on another element on my page:
<CheckBox x:Name="chkAllTeams" Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"/>
This checkbox control visibility reacts as I would expect. When I set the same binding on the DataTextColumn I get an AG_E_BAD_PARSER error on the Visibility= line of XAML:
<data:DataGridTextColumn
Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"
/>
Any ideas anyone? Thanks, Mark
I've added an answer to a similar question: Silverlight: How to bind DataGridColumn.Visibility?
Visibility on the DataGridTextColumn is a different beast on the checkbox. Basically, it isn't a dependency property and can't be data-bound. If you need this functionality, you can subclass DataGridTextColumn and add your own dependency property to get the behavior.
Did you set BoolToVisibilityConverter as a resource?
You'll need to use a datatemplate:
<DataTemplate x:Key="cBDT">
<(UIELEMENT HERE) x:Name="chkAllTeams" Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"/> </DataTemplate>
As was mentioned before, only UIElement has the "Visibility" dependency property.
To see an example of this in context:
http://blogs.msdn.com/scmorris/archive/2008/04/14/defining-silverlight-datagrid-columns-at-runtime.aspx