Я создал триггер, чтобы избежать ошибки привязки, когда «Выбранный элемент» не имеет требуемого свойства.
<Style TargetType="ItemsControl">
<Style.Setters>
<Setter Property="ItemsSource"
Value="{x:Null}" />
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=Self},
Path=DataContext,
Converter={StaticResource EsConfiguracionDeVinculo}}"
Value="true">
<DataTrigger.Setters>
<Setter Property="ItemsSource"
Value="{Binding RelativeSource={RelativeSource Mode=Self},
Path=DataContext.FiltrosDeParametros}" />
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
Но непосредственно перед тем, как триггер изменяет свойство ItemsSource, возникает ошибка привязки Появляется: 'System. Windows .Data Error: 40: Ошибка пути BindingExpression: свойство' FiltrosDeParametros 'не найдено в' object '' 'GrupoDeConfiguracionesDeVinculo' (HashCode = 6195855) '. BindingExpression: Path = DataContext.FiltrosDeParametros; DataItem = 'ItemsControl' (Name = ''); целевым элементом является ItemsControl (Name = ''); Свойство target - «ItemsSource» (тип «IEnumerable») ».
Есть ли способ избежать этой« мгновенной »ошибки привязки?