2
我目前正在创建一个继承自Popup
的类。获取UIElement的高度和宽度?
最后,它将用于在编辑时向用户显示带有验证规则的弹出窗口,例如TextBox
。
所以我创建ValidationPopup与此构造至今:
public ValidationPopup(UIElement parent, double width) : base()
{
this.parent = parent;
this.width = width;
InitControl();
}
我想设置弹出等于PlacementTarget父的尺寸大小。 为了让许多不同的控件能够有这些ValidationPopups之一,我通过UIElement
作为父母而不是TextBox
等 我的问题是,我必须通过此控件的宽度和高度值时,构建一个实例ValidationPopup为了适当地调整它的大小。
是否可以从UIElement
获取这些值? 我在MSDN上看到了RenderSize,但它只给我0.0宽度和高度值。
这是ValidationPopup我设置一个实例:
txtOperator = new TextBox();
layoutGrid.Children.Add(txtOperator);
operatorVPU = new ValidationPopup(txtOperator, txtOperator.Width);
我试图用RenderSize但这并不工作,直到整个UI被完全地完成。
有没有办法在此时获取UIElement的高度和宽度值? 有没有其他更好的方法来达到同样的效果?
实际上没有AcutalHeight/Width属性,但在搜索时发现了FrameworkElement的宽度和高度属性,该属性从属于UIElement,可以用来代替UIElement,但结果相同:) – TorbenJ
嗯好吧高度属性为FrameworkElement也是NaN。你的建议是对的。现在我使用ActualHeight。 – TorbenJ