スタックパネルが連携していません。固定幅と、その中に左から右にレイアウトする可変数の項目があります。
スタック パネルでそれらをレイアウトする項目コントロールがあります。
<ItemsControl x:Name="testItems"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Stacktest:ItemControl />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
しかし、これはアイテムのサイズを正しくしません。使用可能なスペースに関係なく、常に同じサイズです。項目が多すぎる場合は、すべてが収まるようにサイズ調整するのではなく、右側が切り取られます。これを達成する方法はありますか? アイテムの数が一定であればグリッドを使用しますが、そうではありません。通常は 1 ~ 4 個のアイテムです。
ItemsPanelTemplate が可変数の列を持つグリッドであると便利です。しかし、ItemsPanelTemplate でそれ (または同じ結果が得られるもの) が可能かどうかはわかりません。
含まれるアイテムに等しい幅を割り当てるパネルの特別なサブクラスを作成する答えはありますか?