如何在WPF中绑定两个DataGrid列宽度?

时间:2012-02-24 22:33:03

标签: c# wpf xaml data-binding datagrid

我知道DataGridColumns不在网格的逻辑或可视树上。我正在使用here所示的代理。

我需要绑定一些列的宽度。我通常使用像这样的绑定:

Width="{Binding ActualWidth, ElementName=LastOperationColumn}

但是,它不起作用。关于如何做到这一点的任何想法?

3 个答案:

答案 0 :(得分:2)

您不能在DataGrid列中使用ElementName,因为它们不是可视树或逻辑树中的对象,它们没有这些绑定所需的名称范围。但是,您可以使用Sourcex: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}"