C# WPF过滤器数据网格
我有一个数据网格,我想根据从组合框中选择的值进行过滤。datagrid的源是一个XML文件。下面是我正在使用的代码。当我跟踪代码时,视图过滤器为每一行正确地返回true和false,但datagrid从不更新。我错过了什么简单的东西C# WPF过滤器数据网格,c#,wpf,datagrid,filtering,xelement,C#,Wpf,Datagrid,Filtering,Xelement,我有一个数据网格,我想根据从组合框中选择的值进行过滤。datagrid的源是一个XML文件。下面是我正在使用的代码。当我跟踪代码时,视图过滤器为每一行正确地返回true和false,但datagrid从不更新。我错过了什么简单的东西 ComboBoxItem typeItem = (ComboBoxItem)cbPositionFilter.SelectedItem; String position = typeItem.Content.ToString(); IEnumerable<X
ComboBoxItem typeItem = (ComboBoxItem)cbPositionFilter.SelectedItem;
String position = typeItem.Content.ToString();
IEnumerable<XElement> playersSource = ((XContainer)AllPlayers.DataContext).Descendants("Player");
ICollectionView view = CollectionViewSource.GetDefaultView(playersSource);
view.Filter = delegate(object item)
{
bool match = ((XElement)(item)).Element("position").Value == position;
return match;
};
ComboBoxItem typeItem=(ComboBoxItem)cbPositionFilter.SelectedItem;
字符串位置=typeItem.Content.ToString();
IEnumerable playersSource=((XContainer)AllPlayers.DataContext).子代(“Player”);
ICollectionView视图=CollectionViewSource.GetDefaultView(PlayerSource);
view.Filter=委托(对象项)
{
布尔匹配=((像素)(项))。元素(“位置”)。值==位置;
复赛;
};
您的数据网格
是否绑定到播放器源
,或视图
?如果你在做前者,试试后者。:) 您使用什么XAML将XML绑定到网格?我怀疑绑定的集合和PlayerSource是不同的,因此具有不同的默认视图。是的,我没有意识到在设置视图+过滤器后需要重新绑定datagrid。非常感谢!