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>
Run Code Online (Sandbox Code Playgroud)
进入:
<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>
Run Code Online (Sandbox Code Playgroud)
为了使DataGridRow属性受到影响.在设计或运行时,看到绑定到不同源和RelativeSources 的含义是非常有帮助的.
是否存在任何此类工具/技术?