EDITED:追加情報を追加し、質問に答えました。
ListBoxItems
他のアイテムと統一する興味深い方法はGrid
、あなたのDataTemplate
例:
<ItemsControl Grid.IsSharedSizeScope="True" ItemsSource="{Binding Path=Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="Content"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="{Binding Path=Name}">
</Grid>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
これで、すべてがTextBlocks
レイアウト内で同じサイズになります。特定の幅/高さが設定されていない場合、子アイテムは使用可能なすべてのスペースを埋める必要があります。
または、コントロールの Width と Height を拡張するように設定することもできますが、同じ効果を実現するには Grid.SharedScopeSize を使用する方がよりエレガントな方法だと思います。