初始化后获得UIElement的大小

时间:2012-06-19 10:17:12

标签: c# wpf mvvm binding uielement

我正在尝试开发一个可以根据用户的屏幕分辨率进行调整的程序。

我正在使用mvvm和Meleak的pushbinding来获取我的MainWindow的实际大小:

Getting Window Properties in ViewModel

为了定位我的对象,我使用GridRowGridColumn。现在我正在尝试优化此大小,因为我需要获取其他ActualSize的{​​{1}},但是就像它们的大小取决于它们的内容,我不知道如何获得它们的大小,我尝试使用绑定的onewaytosource,但我获得的大小为0.0,显然不是初始化后的大小。

1 个答案:

答案 0 :(得分:0)

事件Loaded可用于衡量视觉对象的ActualHeight

如果在窗口中使用此项,则内容应全部呈现并可供您参考。

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    var temp = this.ActualHeight;
}

在这个示例中,我找到了窗口ActualHeight,但您可以将其用于窗口中的任何对象。

如果您有嵌套的窗口/视图,那么Loaded事件也可用。