问题?
<UI:PanelBrowser Margin="12,27,12,32"></UI:PanelBrowser>
WPF很荒谬,因为在这种情况下不手动指定属性(如宽度和高度)会导致它们具有值Doulbe.NaN
。问题是我需要知道这个数字。我不打算在XAML中手动设置宽度和高度,因为这会阻止它调整大小。
鉴于上面的XAML(此对象是Border控件的一个简单子类),如何在运行时获取Width和Height属性的值?
编辑:
哇,我觉得很荒谬。我读到了ActualWidth
和ActualHeight
,但他们一直为我返回0和0。原因是我在实际初始化之前在Framework Element的构造函数中测试了这些属性。希望这有助于遇到同样问题和测试谬误的人。 :)
答案 0 :(得分:10)
答案 1 :(得分:1)
您可以使用元素'ActualWidth
和ActualHeight
属性来获取绘制时的宽度和高度值。
答案 2 :(得分:1)
WPF FrameworkElement类为此提供了两个DependencyProperties:FrameworkElement.ActualWidth
和FrameworkElement.ActualHeight
将在运行时获取呈现的宽度和高度。