我正在开发一个 WPF 项目,并且正在创建一些样式,其中之一就是DataGridCell
样式,它工作正常。
我的问题是:当用户删除任何行时,Visual Studio 的输出窗口中会显示许多错误。
这是错误:
System.Windows.Data Warning: 4 : Cannot find source for binding with reference
'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid',
AncestorLevel='1''.
BindingExpression:Path=CanUserAddRows; DataItem=null; target element is 'DataGridCell'
(Name=''); target property is 'NoTarget' (type 'Object')
所以,我猜这个错误是因为当从DataGridCell
中删除时DataGrid
,绑定找不到父,但是,我该怎么做才能避免出现这些错误?我的意思是,我怎样才能为绑定建立条件?
我的 XAML 样式代码如下:
<DataGrid Margin="6,25,6,35" x:Name="dataGrid">
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=CanUserAddRows}" Value="False" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsSelected}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#A4A4A4"/>
</MultiDataTrigger>
. . . . .
希望有人可以帮助我,在此先感谢。