【发布时间】:2010-10-26 18:03:44
【问题描述】:
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 属性。在设计或运行时查看绑定到不同源和RelativeSources 的含义将非常有帮助。
是否存在任何此类工具/技术?
【问题讨论】: