WPF UI 要素は幅と高さを定義し、背景はイメージ ブラシに設定され、イメージ ソースは実行時にいくつかのランダムなイメージに向けられます。Stretch プロパティが設定されていないため、デフォルト値の「Fill」が機能すると想定しています。コントロールのサイズと画像のサイズは異なるため、実行時に、背景画像ブラシは何らかの縦横比で塗りつぶされます。つまり、コントロール内に (視覚的に) パディングが適用されます。このパディングされた値を取得する方法はありますか?
サンプルコード:
<Grid Width="2000" Height="2000">
<ListBox>
<ListBox.Background>
<ImageBrush ImageSource="{Binding Source={x:Static local:MyModel.Instance},Path=ImageSource,Converter={StaticResource pathImageConverter}}" />
</ListBox.Background>
</ListBox>
</Grid>
色を使用する場合、イメージ ブラシの代わりに、領域全体を塗りつぶします。これは実際のパディングではありません。視覚的には、リスト ボックスの境界と画像の境界からのパディングがあるように感じます。これのスナップショットを取得してみましょう。