获取自动宽度元素的宽度

时间:2012-03-20 22:29:24

标签: c# wpf width

我正在尝试获取Width的{​​{1}}。我试过了:

StackPanel

给了零,它不应该。也:

double width = stk_main.ActualWidth;

给出NaN,因为宽度先前已设置为auto。那么我怎样才能获得宽度?

2 个答案:

答案 0 :(得分:1)

您可以使用sizeChanged,但是当您使用的堆栈面板未更改大小时,它不起作用。

private void stk_main_SizeChanged(object sender, SizeChangedEventArgs e)
{
    double yourWidthNow = e.NewSize.Width;
}

希望它可以给你一些帮助......

答案 1 :(得分:0)

您可以附加到Loaded的{​​{1}}事件,因为布局传递将在此时完成,并且StackPanel将被设置。