2016-12-24 6 views
-1

私は: myCanvas.Children.Add(laCase);キャンバス内のボーダーの寸法

laCaseは内側に詰め物が入ったボーダーです。ちょうど私がlaCaseの正確な中心を持ちたいと思った後。

しかしActualWidthActualHeight等しい

身長であるがのNaN

私はmyCanvas.Childrenをうまく使いこなそうとしました。

myCanvasを実現し、私が探しているディメンションを選択するには、フラッシュまたは何かがありますか?

+0

Canvasは子要素のサイズを設定しません。他の容器を使用してください。グリッド。 – Clemens

+0

ラ・ケースはボーダーです。私はグリッドを変更せずに試しました。 – Xavier123456789

+0

私は、キャンバスの代わりにグリッドを使うことを意味します。サイズを設定せずに枠線をキャンバスに配置すると、キャンバスは子要素のサイズを変更しないため、ActualWidthとActualHeightはゼロになります。 – 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

関連する問題