我有一个非常棘手的情况,我将数据绑定到,在那里一切都正常,直到我尝试根据另一个列的复选值绑定一个复选框列的可见性。我尝试了以下几点:
<telerik:RadGridView ShowGroupPanel="False" AutoGenerateColumns="False" ItemsSource="{Binding ParametersFilterConfigurations}">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn IsFilterable="False" IsGroupable="False" IsSortable="False" DataMemberBinding="{Binding FilterElementName}" Header="Parameter Name" />
<telerik:GridViewCheckBoxColumn IsFilterable="False" IsGroupable="False" IsSortable="False" DataMemberBinding="{Binding CanView}" Header="Viewable"/>
<telerik:GridViewCheckBoxColumn IsVisible="{Binding CanView}" IsFilterable="False" IsGroupable="False" IsSortable="False" DataMemberBinding="{Binding CanFilterBy}" Header="Filterable" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>当我运行此WPF时,尝试从主数据文本中定位最后一列的IsVisible="{Binding“,并且意外失败,如下所示:
System.Windows.Data错误: 40 : BindingExpression路径错误:在“object”‘MainWindow’(Name='')‘上找不到'CanView’属性。BindingExpression:Path=CanView;DataItem='MainWindow‘(名称=’‘);目标元素为'GridViewCheckBoxColumn’(HashCode=53813616);目标属性为'IsVisible‘(键入'Boolean')
我怎么才能解决这个问题?请帮帮忙。
发布于 2014-05-15 21:29:28
我建议对“可过滤”列使用单元格模板。因为"CanView“属性每行都会发生变化,所以您无法将另一个列的可见性绑定到该列。您可以做的是始终显示该列,但根据需要在该列中显示/隐藏复选框。呃,就像这样:
<telerik:GridViewColumn>
<telerik:GridViewColumn.CellTemplate Header="Filterable">
<DataTemplate>
<CheckBox Visibility="{Binding CanView,Converter={StaticResource BoolToVisConverter}"
IsChecked="{Binding CanFilterBy}"
/>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>https://stackoverflow.com/questions/23687703
复制相似问题