WPF使用资源绑定自定义类型
来源:互联网 发布:游戏编程入门 李军 pdf 编辑:程序博客网 时间:2024/05/22 03:14
首先是设置资源如下:
导入资源名称空间
<Window x:Class="BindSelfResource.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wpf="clr-namespace:BindSelfResource" Title="MainWindow" Height="350" Width="525">
- <wpf:Person Name="FirstName" LastName="Last" x:Key="per"/>
绑定的对象,主要将PersonList属性绑定到Text上:
- <TextBlock Text="{Binding Source={StaticResource per},Path=PersonList[1].Name}" />
自定义对象如下:
- public class Person : INotifyPropertyChanged
- {
- private string name;
- public string Name
- {
- get { return name; }
- set { name = value;
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("Name"));
- }
- }
- }
- private string lastName;
- public string LastName
- {
- get { return lastName; }
- set
- {
- lastName = value;
- }
- }
- private List<Person> personList;
- public List<Person> PersonList
- {
- get { return personList; }
- set
- {
- personList = value;
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("PersonList"));
- }
- }
- }
- public event PropertyChangedEventHandler PropertyChanged;
- }
当前资源里面的PersonList属性是Null,所以在某个时机下你需要设置值,才能显示TextBlock的Text值,本例我在一个Button事件中设置了值如下:
Person p = this.FindResource("per") as Person;
p.PersonList= new List<Person>() { new Person { Name = "Jay", LastName = "Jay" }, new Person { Name = "Jay1", LastName = "Jay1" }, new Person { Name = "Jay2", LastName = "Jay2" } };
单击Button后Text显示Jay1。
- <TextBlock Text="{Binding Source={StaticResource per},Path=PersonList/Name}" />
当Path改成如上形式,会显示Jay,“/”默认取集合的第一条数据。
- WPF使用资源绑定自定义类型
- WPF使用资源绑定自定义类型
- 使用数据绑定和 WPF 自定义数据显示
- WPF中DataGrid使用自定义列绑定数据
- WPF 19(绑定2-绑定资源模板)
- WPF 自定义控件类型
- WPF-使用对象资源
- WPF资源字典使用
- wpf资源使用
- WPF 控件如何绑定资源中的数据
- WPF使用代码进行绑定
- WPF使用异步绑定数据
- WPF使用代码进行绑定
- WPF使用DataGridComboBoxColumn完成绑定
- WPF使用DataGridComboBoxColumn完成绑定
- WPF 获取绑定的事件处理程序绑定全局资源
- WPF入门(四):简单绑定 - 静态资源绑定
- WPF 自定义TreeView控件 绑定子列表
- Spring 中加载资源文件
- SVN功能小结 .
- 黑马程序员-高新技术(代理)
- Gameloft
- 【模式识别】感知器 Perceptron
- WPF使用资源绑定自定义类型
- php:自动创建多级文件夹
- UML面向对象中的图及各种图的作用
- git
- ContentProvider初步
- JDK的动态代理深入解析(Proxy,InvocationHandler)(转)
- 最全的Java笔试题库之问答题篇-总共243道【1~60】
- ios学习之给程序设置logo
- 我心目中的Asp.net核心对象