DataGridColumn -如何绑定数据网格宽度的可见性
本文关键字:网格 数据网 可见性 数据 何绑定 绑定 DataGridColumn | 更新日期: 2023-09-27 18:18:19
我试图向用户显示我的数据网格的一些不那么重要的列,只有当足够的空间(整个程序的宽度)可用。我想用转换器将列的可见性绑定到数据网格的实际情况。我所有的转换器,我写的工作得很好,但在这种情况下什么也没有发生,意味着没有调用转换器。我检查了我的调试日志。
<mui:DataGridTextColumn Header="Kilometer"
MinWidth="20"
Width="SizeToCells"
Binding="{Binding Path=Kilometer, TargetNullValue='-', FallbackValue='-'}"
Visibility="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, TargetNullValue=Collapsed, FallbackValue=Collapsed, Converter={StaticResource IntAsLimit2VisibilityCollapsed}, ConverterParameter=1300}"
/>
让我做错了什么?也许在这个组合中是不可能的?
如前所述,DataGrid列不位于DataGrid的可视化树中,并且我们不能使用RelativeSource
到达外部DataContext
。我们只能使用x:Reference来指向外部FrameworkElement。
同样,这里有一个类似的问题,有一个可能的解决方案(你不需要设置宽度,可能会避免循环引用)