私はコードを開発し始めました.SO WPF: arranging collection items in a gridの例を使用しています。WPFリストボックス内の画像のスケーリング
<ListBox HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ItemsSource="{Binding YourItems}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style>
<Setter Property="Grid.Column" Value="{Binding X}"/>
<Setter Property="Grid.Row" Value="{Binding Y}"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Image RenderOptions.BitmapScalingMode="LowQuality" Source="{Binding ...ImageSource, Mode=OneWay}">
</Image>
</DataTemplate>
</ListBox.ItemTemplate>
グリッドは、撮像されたグリフランテストで充填され、ベース:リストボックスである-ためのItemsControl(XAML幾分簡略化された)今、セル選択能力を得るために、私は、リストボックスにそれぞれのItemsControlを改名しましたコードhere。
驚いたことに、それは働きました。選択が有効です。ただし、ItemsControlの場合、スクロールバーはありませんでした。すべてがうまくスケールされました。ウィンドウを小さくすると、グリッドセルが縮小し、画像も縮小しました。ウィンドウを大きくすると、すべてが拡大しました。
今やListBoxはそうではありません。画像のサイズは固定されたままです。ウィンドウのサイズが十分でない場合は、水平スクロールバーがあり、ウィンドウのサイズが十分でない場合、一部の画像が非表示になり、ユーザーは右にスクロールする必要があります。
質問:ListBoxがItemControlの場合、画像は同じになりません。それを修正するために私は何をすべきですか?