Я пытаюсь настроить ContentTemplate, который изменяется в зависимости от DataTrigger.Синтетически, я чувствую, что это должно работать, но это приводит к переполнению стека при попытке отрисовки страницы:
<ItemsControl ItemsSource="{Binding Path=ExtendedFieldCollection}" ItemTemplate="{StaticResource RequiredFieldsTemplate}" />
<!--Where-->
<DataTemplate x:Key="RequiredFieldsTemplate">
<ContentPresenter>
<ContentPresenter.Style>
<Style TargetType="ContentPresenter">
<Setter Property="ContentTemplate" Value="{x:Null}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsRequired}" Value="True">
<Setter Property="ContentTemplate" Value="{StaticResource MyFieldDisplayTemplate}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentPresenter.Style>
</ContentPresenter>
</DataTemplate>
Просто происходит
<DataTemplate x:Key="RequiredFieldsTemplate">
<ContentPresenter ContentTemplate="{StaticResource MyFieldDisplayTemplate}" />
Работает нормально - но что яЯ пытаюсь выполнить привязку к списку полей, но отображать только обязательные поля.Я не могу просто использовать Visibility = свернутый, есть огромные накладные расходы на создание всех пользовательских элементов управления в MyFieldDisplayTemplate
.Моя цель состоит в том, чтобы у необязательных полей был совершенно другой (пустой) шаблон элемента управления в ItemsControl.
Есть идеи, как настроить этот триггер?