I am using telerik radgridviews and I have some columns that I want to show only if a checkbox is checked.The checkbox is outside the grid and the columns I want to show/hide are inside another grid. This is what I have tried, but doesn't seem to work:
<Grid>
<Checkbox Name = "test">
</Grid>
<telerik:RadGridView ...>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn>
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<telerik:RadGridView ...
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn IsVisible="{Binding IsChecked,Source={x:Reference test}, Converter{StaticResource BooleanToVis}}" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
Update #2 So I have the below, but it doesn't seem to work .I dont get any binding issues but checking or unchecking the checkbox doesnt do anything.
public bool IsChecked
{
get
{
return isChecked;
}
set
{
if (isChecked != value)
{
isChecked = value;
NotifyPropertyChanged(nameof(IsChecked));
}
}
}
<BooleanToVisibilityConverter x:Key="BooleanToVis"/>
<CheckBox x:Name="showCols" Content="test" IsChecked="{Binding IsChecked}"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding x}" IsVisible="{Binding DataContext.IsChecked,Source={x:Reference showCols},Converter={StaticResource BooleanToVis}}" />