私は WPF プロジェクトに取り組んでおり、いくつかのスタイルを作成しています。そのうちの 1 つは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>
. . . . .
誰かが私を助けてくれることを願っています。