我有一個ObservableCollection綁定到DataGrid,一切工作正常。我想過濾集合而不必重複訪問數據庫,因此我決定使用後備集合來存儲原始列表,然後公開地將過濾的列表公開給綁定。所以,我有以下代碼:綁定到ObservableCollection的副本
_backingMemberList.Clear();
_memberList.Clear();
foreach (Member CurrentMember in ListOfMembers)
{
_memberList.Add(CurrentMember);
_backingMemberList.Add(CurrentMember);
}
_memberList = new ObservableCollection<Member>(_backingMemberList);
,並且綁定是簡單的:
<DataGrid Name="dataGridMembers" ItemsSource="{Binding MemberList}" />
現在,由於某種原因,這打破了RowStyle
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="{Binding BindsDirectlyToSource=True, Converter={StaticResource BGColor}}"/>
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowStyle>
我沒有得到任何信息在輸出窗格中關於綁定是對還是錯。我無法弄清楚我做錯了什麼。
只是爲了增加樂趣,我在其他頁面上獲得了相同的連接,並完全打破了綁定。行甚至不顯示。
我的問題是:
- 我在做什麼錯?
- 失敗的是,我該如何調試數據綁定?
所以一切,如果您刪除'RowStyle'作品? – 2012-08-11 21:05:39
不行,如果我使用後備集合,RowStyle不起作用。如果我使用原始的ObservableCollection,RowStyle可以正常工作。但無論如何,轉換器都能正常工作。 – 2012-08-11 22:43:46