我這樣做: 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