2016-12-24 112 views
-1

我這樣做: myCanvas.Children.Add(laCase);畫布中邊框的尺寸

laCase是一個內部有東西的邊框。就在我想擁有laCase的確切中心之後。

但是ActualWidth的的ActualHeight等於

雖然寬度高度的NaN

我試圖混淆myCanvas.Children沒有任何成功。

是否有刷新或要做的事情來實現myCanvas和選擇我正在尋找的維度?

+0

畫布從不設置其子元素的大小。使用其他容器,例如一個網格。 – Clemens

+0

la case是一個邊框。我嘗試與電網沒有任何改變。 – Xavier123456789

+0

我的意思是使用網格而不是畫布。如果將Border放入Canvas而不設置其大小,則其ActualWidth和ActualHeight將爲零,因爲Canvas不會調整其子元素的大小。 – Clemens

回答

-1

找到了答案。

我發現:Canvas.Arrange(Rect);

+0

'UIElement.Arrange'是WPF在需要更新控件以調整其本身或其子級時調用的方法。如果你曾經手動調用它,你要麼做一些先進的東西,並且知道你在做什麼,或者(更可能)你不知道你在做什麼並且錯誤地使用它。即使您確實需要手動調用它,您幾乎總是通過使用「UIElement.InvalidateMeasure」或「UIElement.InvalidateVisual」來間接調用它。 – Abion47

+0

我在做: myCanvas.Children.Add(laCase); laCase.InvalidateMeasure(); double width = laCase.ActualWidth; – Xavier123456789