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