Ошибка привязки перед выполнением триггера - PullRequest
0 голосов
/ 17 апреля 2020

Я создал триггер, чтобы избежать ошибки привязки, когда «Выбранный элемент» не имеет требуемого свойства.

<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») ».

Есть ли способ избежать этой« мгновенной »ошибки привязки?

...