3
我正在一個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>
. . . . .
希望有人能幫助我,在此先感謝。
感謝您的回覆,我是WPF新手,我有一個問題,這個答案可以應用在'Condition'的'Binding'屬性中? – Dante 2012-07-17 02:21:40
@Dante是的,你可以,這些是綁定類的屬性,所以他們會爲每一個綁定工作;爲參考添加代碼。 – akjoshi 2012-07-17 05:50:29
嗨akjoshi,我剛剛嘗試了你的建議,但我仍然收到相同的錯誤 – Dante 2012-07-18 14:23:11