Пытаюсь создать ListBox в котором первым элементом будет отдельная кнопка со своей командой, а после неё уже идти все остальные элементы из ItemsSource с общим оформлением. Выглядеть это должно примерно как-то так.

Получился вот такой ListBox
<ListBox
Margin="0,87,0,0"
ItemsSource="{Binding Divisions}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
SelectedItem="{Binding SelectedDivision}">
<TextBlock
Width="200"
Height="50"
Margin="0"
Padding="0"
Text="Add" />
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Margin" Value="5" />
<Setter Property="BorderBrush" Value="Black" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Width="90" Orientation="Vertical">
<TextBlock
Width="200"
Height="50"
Margin="0"
Padding="0"
Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Но при такой реализации он выдаёт:
Необработанное исключение типа "System.InvalidOperationException" в PresentationFramework.dll Дополнительные сведения: Перед использованием свойства ItemsSource семейство Items должно быть пустым.
А как реализовать по другому понятия не имею.
ListBoxвнутрь добавляетеTextBlock, что означает добавления нового Item'a в его коллекцию, а потом вы пытаетесь задатьItemsSourceи тут у вас происходит конфликт, ибоListBoxне пустой, но и привязку сделать надо. Так чтоTextBlockтут явно лишний.как реализовать по другому- например так. То есть, сделайтеUserControl-ы с нужным дизайном, создайте под них ViewModel, ну и связывайте все привязанной коллекцией. – EvgeniyZ Mar 28 '19 at 23:03<TextBlock ... Text="Add" />в начало коллекцииDivisions– Alias Mar 29 '19 at 06:28