【发布时间】:2021-02-09 04:27:36
【问题描述】:
我正在使用 Windows Community Toolkit for UWP 中的 DataGrid 控件,但我找不到动态隐藏或显示列的解决方案。
Runtime error: Failed to assign to property 'Microsoft.Toolkit.Uwp.Ui.Controls.DataGridColumn.Visibility'
<controls:DataGrid x:Name="TradeGrid">
<controls:DataGridTextColumn
x:Uid="DataColumnPositionContract"
Width="SizeToCells"
Binding="{Binding Path=TradePosition.Contract.Name}"
Tag="Contract"
Visibility="{Binding ElementName=TradeGrid, Path=DataContext.IsContractVisible, Converter={StaticResource BoolToVisConv}}" />
</controls:DataGrid>
视图模型结构如下:
PageViewModel(绑定到页面)
- 项目列表(DataGrid 的项目源)
- 列可见性属性
ItemViewModel(列的DataContext)
- 项目属性
转换器是工具包提供的转换器。要绑定的布尔属性不是列 (ItemViewModel) 的 DataContext 的一部分。我需要访问父视图模型(PageViewModel)来获取属性。
谁能告诉我如何绑定到 DataGridColumn 的 Visibility 属性?
如果在 UWP 中无法以这种方式绑定,我愿意接受其他解决方案。
谢谢!
【问题讨论】:
标签: uwp datagrid windows-community-toolkit