<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<c:SearchTextBox Grid.ColumnSpan="2" .../>
<ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="1">
<ListBox
ItemsSource="{Binding Categories}"
IsSynchronizedWithCurrentItem="True"
... />
</ScrollViewer>
<!-- Here is what I'm talking about:-->
<ListBox ItemsSource="{Binding Products}"
IsSynchronizedWithCurrentItem="True" Grid.Column="1" Grid.Row="1">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
をレイアウト右側の列の項目は、ウィンドウの幅を埋めるためにレイアウトされ、その後、新しい行を作成しなければならないということですそれはまさにWrapPanelのためのものです。
問題は、WrapPanelは、水平スクロールバーを表示している1行の項目をレイアウトしているのに対し、すべての項目はウィンドウのサイズを超えて右側に隠れていることです。WrapPanelは、私が欲しいものの代わりにラップするラインの(スクロールバーを表示する)一つの長い水平線内の項目
どうすればそれを防ぐことができますか?
スクロールビューアを削除するとどうなりますか?項目は横スクロールで右に拡大されますか? – dcarneiro
@ダニエルあなたは私を間違えてしまった。 ScrollViewerは最初のListBoxをラップし、マスター/ディテールのシナリオを表す2つのリストボックスがあります。問題はWrapPanelをItemsPanelTemplateとして使用する2番目のListBoxにあります。 – Shimmy