我有一个绑定到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>
我在输出窗格中没有得到任何关于绑定正确或错误的信息。我无法弄清楚我做错了什么。
只是为了增加乐趣,我在另一页上有相同的连接,它完全破坏了绑定。行甚至不显示。
我的问题是:
- 我究竟做错了什么?
- 如果做不到这一点,我该如何调试数据绑定?