C# 绑定、datacontext、collectionviewsource
我有一个自定义对象,它有一些属性和一个C# 绑定、datacontext、collectionviewsource,c#,wpf,data-binding,collectionviewsource,C#,Wpf,Data Binding,Collectionviewsource,我有一个自定义对象,它有一些属性和一个可观测集合 我的问题是让他们都玩得很好。似乎我希望使用CollectionViewSource进行筛选,但我不知道该如何应用,以便可以在代码端运行筛选 我还没有找到这样一个绑定的好例子,它考虑了多个方面(主对象上的proeprites,一个带过滤器的集合) 这样我就可以在xaml中完成这项工作 <TextBlock Grid.Row="0" Grid.Column="0"> <Run Text="Name: "/>
可观测集合
我的问题是让他们都玩得很好。似乎我希望使用CollectionViewSource
进行筛选,但我不知道该如何应用,以便可以在代码端运行筛选
我还没有找到这样一个绑定的好例子,它考虑了多个方面(主对象上的proeprites,一个带过滤器的集合)
这样我就可以在xaml中完成这项工作
<TextBlock Grid.Row="0" Grid.Column="0">
<Run Text="Name: "/>
<Run Text="{Binding Name}"/>
</TextBlock>
<TextBlock Grid.Row="0" Grid.Column="1">
<Run Text="DOB: "/>
<Run Text="{Binding Name}"/>
</TextBlock>
<DataGrid Grid.Row="1" Grid.ColumnSpan="2" Grid.Column="0"
ItemsSource="{Binding Classes}" AutoGenerateColumns="True"></DataGrid>
我真的只想根据Classes属性创建CVS,这样我就可以将CSV分配给DataGrid
,并使用Binding Room
处理自定义列绑定,而不是Binding Classes.Room
至少我怀疑,基本上,问题是我找不到任何关于将OC与其他数据混合的示例/教程。简而言之,CollectionViewSource允许您在源代码上拥有一个“虚拟视图”,允许您在“视图”中对数据进行分组或排序,而源代码仍然保持不变 wpf中知道如何处理此问题的控件不使用源,而是绑定到视图,因此,当您在CollectionViewSource对象中排序时,该控件将跟随您并以您希望的方式更改其显示的内容 尽管你没有发布太多的代码,也没有指定任何确切的问题,我还是很乐意回答你的问题 以下链接将帮助您了解wpf中的分组、排序和筛选:
看看他们,自己试试。一旦你被困在某个地方,而谷歌似乎无法进一步帮助你,请随意在这里发布一个带有代码示例的问题。谢谢,这两个链接正好说明了我的问题所在。他们都认为所有的im发送都是集合本身。我将用一些代码更新这个问题
var student = new Student { Name = "Justin", DOB = new DateTime(1983, 6, 15) };
student.Classes.Add(new ClassRoom { Name = "math", Room = 102});
student.Classes.Add(new ClassRoom { Name = "english", Room = 119 });
this.DataContext = student;
<TextBlock Grid.Row="0" Grid.Column="0">
<Run Text="Name: "/>
<Run Text="{Binding Name}"/>
</TextBlock>
<TextBlock Grid.Row="0" Grid.Column="1">
<Run Text="DOB: "/>
<Run Text="{Binding Name}"/>
</TextBlock>
<DataGrid Grid.Row="1" Grid.ColumnSpan="2" Grid.Column="0"
ItemsSource="{Binding Classes}" AutoGenerateColumns="True"></DataGrid>