获取已设置为auto的WPF GridView列的宽度

时间:2013-01-31 19:20:58

标签: wpf

我有一个包含GridView的窗口,其中一列设置为'Auto'。一旦数据绑定到ListView并且已确定列的宽度,我想调整窗口大小以适应。但是,当我检查该列的宽度时(使用ActualWidth,在构造函数的末尾,在分配了集合之后),其值为0.

在我见过的与ASP有关的其他一个问题中,有一个带有DataBound事件的GridView,它在数据绑定完成时触发。但是,对于WPF GridView,没有事件,也没有与其列关联的事件。

在绑定数据并计算了列的宽度后,是否会出现可以使用的事件?或者是否有其他方法可以根据列的宽度调整窗口大小?我希望自动调整大小只发生一次,而不是每次我改变列的宽度。

1 个答案:

答案 0 :(得分:1)

我遇到过这样的情况,几乎总是回答Loaded事件添加一个事件处理程序(你在构造函数中注册这个处理程序)并做你的在该处理程序中检查ActualWidth 之类的内容,而不是构造函数。这似乎允许控件实际上被渲染,因此这些类型的属性设置了运行时值。