私は: 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
Canvasは子要素のサイズを設定しません。他の容器を使用してください。グリッド。 – Clemens
ラ・ケースはボーダーです。私はグリッドを変更せずに試しました。 – Xavier123456789
私は、キャンバスの代わりにグリッドを使うことを意味します。サイズを設定せずに枠線をキャンバスに配置すると、キャンバスは子要素のサイズを変更しないため、ActualWidthとActualHeightはゼロになります。 – Clemens