我知道DataGridColumns
不在网格的逻辑或可视树上。我正在使用here所示的代理。
我需要绑定一些列的宽度。我通常使用像这样的绑定:
Width="{Binding ActualWidth, ElementName=LastOperationColumn}
但是,它不起作用。关于如何做到这一点的任何想法?
答案 0 :(得分:2)
您不能在DataGrid列中使用ElementName
,因为它们不是可视树或逻辑树中的对象,它们没有这些绑定所需的名称范围。但是,您可以使用Source
和x:Reference
:
{Binding ActualWidth, Source={x:Reference LastOperationColumn}}
当然,如果手动调整此列的大小,则不会更改绑定。
答案 1 :(得分:1)
我只是看了一些我正在设置MaxWidth的代码,我认为它应该是相同的。这是我使用的语法。
<DataGridTextColumn...
MaxWidth="{Binding Source={x:Static Properties:Settings.Default},
Mode=OneWay,
Path=DescriptionMaxWidth}">
答案 2 :(得分:0)
试试这个:Width="{Binding Path=ActualWidth,ElementName=LastOperationColumn}"