0

を拡張するクラスがありCanvasます。作成時に、その幅を明示的に値に設定します。

Public Sub New(w As Integer, h As Integer)
    Me.Width = w
    Me.Height = h
End Sub

次に、拡張キャンバスのインスタンスがcnvPreview.Children.Add(e)どこにあるかを使用して、このインスタンスを別のキャンバスのキャンバスに追加します。e

ただし、アプリケーションを実行するActualWidthActualHeight、これらのキャンバスのとは0になります。

これはどのように修正できますか?

4

2 に答える 2

1

可能な限り最小のサイズに縮小しなくCanvas'sても、自分の子を完全に表示しませんか?これにより、ActualHeightとのActualWidth値がゼロになる可能性があります。たとえば、aを追加してTextBlock、値を読み取ってみてください。

これは、この他の投稿でよりよく説明されていると思います。この場合、ActualWidthとActualHeightが0.0であるのはなぜですか。

于 2012-12-20T09:55:27.083 に答える
0

ActualHeightActualWidthは、コントロールをレンダリングした後に値を提供することに注意してください。とが50Canvas Heightで、レンダリング後に縮小された場合、より低い値が返されるか、表示されていない場合はゼロになる可能性があります。WidthCanvasActualHeightActualWidth

于 2012-12-20T09:55:35.127 に答える