0

Expander コントロールがあり、非表示の要素とマージンなしでその境界を計算する必要があります。通常は で実行できますVisualTreeHelper.GetDescendantsBounds。しかし、rect は VisualTreeHelper によって計算され、エキスパンダーの状態には依存しないようです。例えば:

http://i.piccy.info/i5/58/39/273958/collapsed.jpg

(画像載せれません。ごめんなさい)

展開された状態と同じ結果 (画像上の薄緑色の四角形)。この問題を解決する方法を知っている人はいますか?

4

2 に答える 2

0

これはサンプル アプリケーションです。スタイルは、ここで TreeView コントロールとその項目に適用されます。しかし、問題はスタイルに依存しません。

于 2010-07-06T06:15:10.567 に答える
0

Expander コントロールは、そのコンテンツの可視性を Collapsed に設定します。これは、レイアウト中に考慮されず、GetDescendantBounds に含まれないことを意味します。ただし、レイアウト エンジンによって Expander のサイズを強制的に大きくすることができ、Expander 自体のサイズは GetDescendantBounds に含まれます。

VerticalAlignment="Top"Expander に設定してみてください。デフォルトはStretchで、親に使用可能なスペースがあれば、サイズを大きくすることができます。Heightまた、プロパティ を明示的に設定していないことを確認してください。

于 2010-07-05T13:23:36.553 に答える