WPF采用ObjectDataProvider绑定数据
2016-09-08 17:21
381 查看
最近打算给自己写个小软件,想用微软的新桌面框架WPF来写。
前些天,折磨了1下午没有研究透如果用控件绑定数据,终于在今天搞定了。于是分享给大家。
WPF采用ObjectDataProvider绑定数据,网上的一个教程ListView 的三种数据绑定方式 但是只提到在XAML窗口文件中这样写一段代码
但是我把它放到XAML文件里面报错,后来又进行百度,网上有人说这段代码要放到
终于我研究出来,<Window. 红色标注的这个标签是和XAML窗口配置文件的,窗口类型有关系的,如果是在窗口Window.xml里面使用的话,应该使用<Window.Resources>但是如果是其他类型,比如是我使用的这个类型,是页面的话(Page.xml),应该使用<Page.Resources>
这里再给大家讲解一下,下面这段标签代码的使用
这段代码是和
然后在listView的绑定如下:
前些天,折磨了1下午没有研究透如果用控件绑定数据,终于在今天搞定了。于是分享给大家。
WPF采用ObjectDataProvider绑定数据,网上的一个教程ListView 的三种数据绑定方式 但是只提到在XAML窗口文件中这样写一段代码
<ObjectDataProvider x:Key="objData" MethodName="GetData" ObjectType="{x:Type local:DataProvider}"> <ObjectDataProvider.MethodParameters> <sys:Int32>4</sys:Int32> </ObjectDataProvider.MethodParameters> </ObjectDataProvider>
但是我把它放到XAML文件里面报错,后来又进行百度,网上有人说这段代码要放到
<Window.Resources> </Window.Resources>标签里面,但是还是有问题。
终于我研究出来,<Window. 红色标注的这个标签是和XAML窗口配置文件的,窗口类型有关系的,如果是在窗口Window.xml里面使用的话,应该使用<Window.Resources>但是如果是其他类型,比如是我使用的这个类型,是页面的话(Page.xml),应该使用<Page.Resources>
这里再给大家讲解一下,下面这段标签代码的使用
<ObjectDataProvider x:Key="objData" MethodName="GetData" ObjectType="{x:Type local:DataProvider}"> <ObjectDataProvider.MethodParameters> <sys:Int32>4</sys:Int32> </ObjectDataProvider.MethodParameters> </ObjectDataProvider>
这段代码是和
</pre><pre name="code" class="csharp"> public class DataProvider { public ObservableCollection<object> GetData(int limit) { ObservableCollection<object> ObservableObj = new ObservableCollection<object>(); int i = 0; while (i <= limit) { ObservableObj.Add(new { Name = "帅波" + i.ToString(), Sex = "女", Age = 50 + i }); i++; } return ObservableObj; } }
</pre>有关系的,<pre name="code" class="html"> <ObjectDataProvider x:Key="objData自己定义的对象名称" MethodName="GetData引用类中的方法,通过该方法的返回值初始化本对象" ObjectType="{x:Type local:DataProvider引用的对象类}"> <ObjectDataProvider.MethodParameters> <sys:Int32>4传递给对象类方法的参数</sys:Int32> </ObjectDataProvider.MethodParameters> </ObjectDataProvider>
然后在listView的绑定如下:
<ListView Height="122" HorizontalAlignment="Left" ItemsSource="{Binding Source={StaticResource objData}}" Margin="33,231,0,0" Name="lv3" VerticalAlignment="Top" Width="400"> <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="姓名" Width="50" /> <GridViewColumn DisplayMemberBinding="{Binding Path=Sex}" Header="性别" Width="50" /> <GridViewColumn DisplayMemberBinding="{Binding Path=Age}" Header="年龄" Width="50"> <GridViewColumn.HeaderTemplate> <DataTemplate> <TextBlock Foreground="Red" Text="{Binding}" /> </DataTemplate> </GridViewColumn.HeaderTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView>
相关文章推荐
- WPF中使用ObjectDataProvider绑定方法
- WPF中使用ObjectDataProvider绑定方法
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
- WPF数据提供者ObjectDataProvider
- WPF使用 ObjectDataProvider 为方法作为绑定数据源
- 用ObjectDataProvider绑定方法,用IValueConverter实现数据类型转换,重载ValidationRule实现数据验证,BindsDirectlyToSource等
- 数据绑定(七)使用ObjectDataProvider对象作为Binding的Source
- WPF中使用ObjectDataProvider绑定方法
- MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定之二:使用外部URL的XML文件)
- WPF(Binding of ObjectDataProvider)
- WPF数据提供者XmlDataProvider
- wpf中数据绑定(Datacontext)的应用
- 数组数据采用ArrayDataProvider 动态分页应用(可用于接口缓存场景) [ 2.0 版本 ]
- WPF学习笔记:数据绑定与DataContext
- WPF数据绑定之DataContext
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
- WPF:在XmlDataProvider上使用主-从绑定(Master-Detail Binding)
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
- WPF数据绑定(2 绑定列表数据Binding to List Data)