私は、WrapPanel 内に画像を表示したい ListBox を持つ UserControl (以下の XAML) を持っています。そこでは、1 つの行に収まる数の画像が表示され、次の行にラップされます。ListBox の場合を除き、機能します。ウィンドウで使用可能なスペースよりも大きくなると、垂直スクロールバーが表示されません。つまり、コンテンツが切り取られます。ListBox に固定の高さを設定すると、スクロールバーが表示され、期待どおりに機能します。このリストボックスを使用可能なスペースまで拡大し、垂直スクロールバーを表示するにはどうすればよいですか? このコントロールは、メイン ウィンドウのグリッド内の StackPanel 内にあります。ScrollViewer 内に StackPanel をラップすると、目的のスクロールバーが表示されますが、ListBox の上の UserControl にさらにコントロールを追加したい場合 (たとえば、画像サイズの「ズーム」など)、これは良い解決策ではありません。しません
ありがとう!!:)
<UserControl x:Class="GalleryAdmin.UI.GalleryView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ListBox Name="itemListBox" BorderThickness="0" ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Background="LightGray" Margin="5" >
<StackPanel Margin="5">
<Image Source="{Binding Path=LocalThumbPath}" Height="100" />
<TextBlock Text="{Binding Path=Name}" TextAlignment="Center"></TextBlock>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>