РЕДАКТИРОВАНИЕ: Добавлена дополнительная информация и дан ответ на вопрос.
Интересный способ сделать ListBoxItems
унифицированным с другими предметами - использовать функцию общего охвата Grid
s в 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
будут одинакового размера в вашем макете. Дочерний элемент должен заполнить все доступное пространство, если не задана конкретная ширина / высота.
В качестве альтернативы вы можете установить ширину и высоту элемента управления растянутыми, однако я думаю, что использование Grid.SharedScopeSize - более элегантный способ достижения того же эффекта.