저는 현재 Popup
에서 상속받은 클래스를 만듭니다.UIElement의 높이와 너비를 가져 옵니까?
마지막으로 TextBox
을 편집 할 때 유효성 검사 규칙이있는 팝업을 사용자에게 표시하는 데 사용됩니다.
public ValidationPopup(UIElement parent, double width) : base()
{
this.parent = parent;
this.width = width;
InitControl();
}
나는 PlacementTarget 부모의 크기와 동일한 팝업의 크기를 설정하고 싶습니다. 많은 다른 컨트롤이 이러한 ValidationPopup 중 하나를 가질 수 있도록 TextBox
대신 UIElement
을 부모로 전달합니다. 내 문제는이 컨트롤의 너비와 높이 값을 전달해야합니다. 올바른 크기로 만들기 위해 ValidationPopup.
UIElement
에서이 값을 구할 수 있습니까? MSDN에서 RenderSize를 보았지만 너비와 높이가 0.0입니다.
ValidationPopup의 I 설정 한 인스턴스는 곳입니다 :
txtOperator = new TextBox();
layoutGrid.Children.Add(txtOperator);
operatorVPU = new ValidationPopup(txtOperator, txtOperator.Width);
내가 RenderSize을 사용하려고하지만, 전체 UI가 completly 완료 될 때까지이 작동하지 않습니다.
이 시점에서 UIElement의 높이와 너비 값을 가져 오는 방법이 있습니까? 동일한 결과를 얻을 수있는 더 좋은 방법이 있습니까?
사실 AcutalHeight/Width 속성은 없지만이를 검색하는 동안 UIElement에 종속적 인 FrameworkElement의 Width 및 Height 속성을 발견했으며 UIElement 대신 동일한 결과를 사용할 수 있습니다. – TorbenJ
Hmm ok Height property of FrameworkElement는 NaN입니다. 당신은 당신의 제안에 옳습니다. 이제 ActualHeight를 사용합니다. – TorbenJ