動的に読み込まれるボタンのセットを表示するグリッドの 3 列目に Itemscontrol があります。これらのコンテンツ (つまりボタン) がグリッドの最大幅を占めるようにしたかったのです。コンテンツがグリッドサイズを超えると、垂直スクロールバーが表示されます。
次のように、スクロールバー スタイルを ItemsControl に適用しました。
<Style x:Key="ItemControlStyle" TargetType="{x:Type ItemsControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ItemsControl}">
<Border>
<ScrollViewer HorizontalContentAlignment="Stretch"
CanContentScroll="True"
HorizontalScrollBarVisibility="Disabled"
Uid="ScrollViewer_9"
VerticalScrollBarVisibility="Auto">
<ItemsPresenter Margin="{TemplateBinding Padding}"
KeyboardNavigation.DirectionalNavigation="Cycle"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Uid="ItemsPresenter_5" />
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
また、ItemsControl とその親である Grid の両方に、HorizontalAlignment と VerticalAllignMent を "Stretch" として適用しました。
私が望む出力ビューは(グリッドの3列目)です
私が得ている出力は次のとおりです。
サイズが超えた後にスクロールバーが表示されるはずですこれらのコンテンツをグリッドの最大幅に水平に調整するにはどうすればよいですか?