У меня есть DataTemplate, который содержит CheckBox и ListBox. Когда флажок установлен, я хочу изменить свойство ItemTemplate в ListBox, чтобы изменить внешний вид каждого элемента.
Прямо сейчас это выглядит так:
<DataTemplate DataType={x:Type MyViewModel}>
<DockPanel>
<CheckBox DockPanel.Dock="Bottom"
Content="Show Details"
HorizontalAlignment="Right"
IsChecked="{Binding ShowDetails}"
Margin="0 5 10 5" />
<ListBox ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource SimpleItemTemplate}"
Margin="10 0 10 5">
<ListBox.Triggers>
<DataTrigger Binding="{Binding ShowDetails}" Value="True">
<Setter Property="ItemTemplate"
Value="{StaticResource DetailedItemTemplate}" />
</DataTrigger>
</ListBox.Triggers>
</ListBox>
</DockPanel>
</DataTemplate>
Однако, когда я пытаюсь скомпилировать, я получаю следующие сообщения об ошибках:
Значение ItemTemplate нельзя присвоить свойству Property. Неверное значение PropertyDescriptor.
и
Не удалось найти статический член ItemTemplateProperty для типа «ContentPresenter».
Я все еще довольно новичок в WPF, так что, возможно, есть кое-что, что я не совсем понимаю?