gpt4 book ai didi

c# - 绑定(bind)数据网格列宽

转载 作者:可可西里 更新时间:2023-11-01 09:03:17 24 4
gpt4 key购买 nike

我有两个数据网格,每个数据网格一列。第一:

<DataGrid.Columns>
<DataGridTextColumn x:Name="FilterTextCol01"
IsReadOnly="False"
Width="{Binding ElementName=TextCol01, Path=ActualWidth, Mode=TwoWay}" />
</DataGrid.Columns>

第二个:

<DataGridTextColumn CellStyle="{StaticResource DataGridColumnContentLeft}"
local:DataGridUtil.Name="TextCol01"
x:Name="TextCol01"
Header="TextCol01"
SortMemberPath="TextCol01"
Binding="{Binding TextCol01}"
Width="Auto"
IsReadOnly="True"/>

将第一列的宽度绑定(bind)到第二列的宽度不起作用。如果我以这种方式在代码中这样做:

FilterTextCol01.Width = TextCol01.ActualWidth;

它有效。谁能告诉我为什么第一种方法不起作用?

最佳答案

因为 DataGrid 列是抽象对象,它们不会出现在窗口的逻辑树或可视树中。您不能使用 ElementName 在它们上绑定(bind)属性(这些绑定(bind)不需要名称范围)。

您可以尝试使用 Sourcex:Reference相反,例如

{Binding Source={x:Reference TextCol01}, Path=ActualWidth}

关于c# - 绑定(bind)数据网格列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9313586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com