Dla „pozycja ogólna wypełniając całą szerokość przydzieloną ListBox” trzeba styl takiego:
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
i ewentualnie wyłączyć przewijanie w poziomie dla pola listy:
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" .. >
w przypadku panelu głównego DataTemplate można użyć panelu dokowanego:
<DockPanel>
<SomeControlLeft DockPanel.Dock="Left" Margin="0 0 5 0" />
<SomeControlRight DockPanel.Dock="Right" Margin="5 0 0 0" />
<SomeControlFill />
</DockPanel>
lub siatka:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<SomeControlLeft Grid.Column="0" />
<SomeControlRight Grid.Column="4" />
<SomeControlFill Grid.Column="2" />
</Grid>
Można użyć komponentu tabeli lub siatki za to, ustaw jedną lub obie kolumny do auto -rozmiar. –