我这样做: myCanvas.Children.Add(laCase);画布中边框的尺寸
laCase是一个内部有东西的边框。就在我想拥有laCase的确切中心之后。
但是ActualWidth的和的ActualHeight等于
虽然宽度和高度是的NaN。
我试图混淆myCanvas.Children没有任何成功。
是否有刷新或要做的事情来实现myCanvas和选择我正在寻找的维度?
我这样做: myCanvas.Children.Add(laCase);画布中边框的尺寸
laCase是一个内部有东西的边框。就在我想拥有laCase的确切中心之后。
但是ActualWidth的和的ActualHeight等于
虽然宽度和高度是的NaN。
我试图混淆myCanvas.Children没有任何成功。
是否有刷新或要做的事情来实现myCanvas和选择我正在寻找的维度?
找到了答案。
我发现:Canvas.Arrange(Rect);
'UIElement.Arrange'是WPF在需要更新控件以调整其本身或其子级时调用的方法。如果你曾经手动调用它,你要么做一些先进的东西,并且知道你在做什么,或者(更可能)你不知道你在做什么并且错误地使用它。即使您确实需要手动调用它,您几乎总是通过使用“UIElement.InvalidateMeasure”或“UIElement.InvalidateVisual”来间接调用它。 – Abion47
我在做: myCanvas.Children.Add(laCase); laCase.InvalidateMeasure(); double width = laCase.ActualWidth; – Xavier123456789
画布从不设置其子元素的大小。使用其他容器,例如一个网格。 – Clemens
la case是一个边框。我尝试与电网没有任何改变。 – Xavier123456789
我的意思是使用网格而不是画布。如果将Border放入Canvas而不设置其大小,则其ActualWidth和ActualHeight将为零,因为Canvas不会调整其子元素的大小。 – Clemens