WPF - отличный набор инструментов, а привязка данных XAML очень эффективна, но я часто сталкиваюсь с трудностями, связанными с его прозрачностью: может быть сложно отладить отказ привязки данных, если не будут выброшены ошибки.
Например, недавно мне пришлось изменить объявление Style
следующим образом:
<DataGrid.RowStyle>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding TestProperty}" Value="False">
<Setter Property="DataGridRow.Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
В это:
<DataGrid.RowStyle>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.TestProperty}" Value="False">
<Setter Property="DataGridRow.Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
Чтобы повлияло на свойство DataGridRow. Было бы невероятно полезно увидеть, при проектировании или времени выполнения, какие последствия могут быть связаны с разными источниками и RelativeSource
.
Существуют ли какие-либо такие инструменты/методы?