WPF单向绑定正确创建方法介绍

开发 开发工具
WPF单向绑定的创建是一个比较简单的实现方法。在这篇文章中将会做一个简单的介绍,希望对又需要的朋友有所帮助。

WPF开发框架是由微软公司于06年左右开发的一款专门处理图形界面显示的开发工具。开发人员可以使用它来轻松实现功能需求,提高开发效率。在这里就为打家介绍一下WPF单向绑定的创建方法。#t#

1. 定义一个ObjectDataProvider,命名为”ContactList”。把它放在MainWindow.xaml文件,Window这个元素的Resources里,作为这个文件的一个资源。ObjectDataProvider的类型名设为ContactList集合类的全名(包括命名空间)。除此之外,MethodName属性被设值为程序集的名字:AddressBook。请确保将Window.Resource这段元素插入到Grid的定义之前。

  1. < Window.Resources> 
  2. < ObjectDataProvider 
    x:Key="ContactList"   
  3. MethodName="AddressBook.
    ContactList,AddressBook"
     /> 
  4. < /Window.Resources> 

2. 利用Styles,您的应用、文档、或UI设计器可以将产品的风格统一化。数据模板则可以用来定义数据的显示外观。为了配置联系人列表数据的UI,请定义一个数据模板,命名为“ContactNameTemplate”,将ContactList里面联系人对象的FirstName属性绑定到一个TextBlock上。

  1. < Window.Resources> 
  2. < ObjectDataProvider 
    x:Key="ContactList"   
  3. MethodName="AddressBook.
    ContactList,AddressBook"
     /> 
  4. < DataTemplate x:Key=
    "ContactNameTemplate" > 
  5. < TextBlock Text="
    {Binding Path=FirstName}"
     /> 
  6. < /DataTemplate> 
  7. < /Window.Resources> 

3. WPF单向绑定创建到这里之后,我们可以为联系人的ListBox指定ItemsSource并赋给它ContactNameTemplate。

  1. < ListBox Name="allContacts"   
  2. SelectionChanged="ListItemSelected" 
  3. ItemsSource="{Binding }" 
  4. ItemTemplate="{DynamicResource 
    ContactNameTemplate}"
     
  5. IsSynchronizedWithCurrentItem="True"> 
  6. < ListBox.ContextMenu> 
  7. < ContextMenu> 
  8. < MenuItem Header="Add a Contact"   
  9. Click="LaunchNewContactWizard"/> 
  10. < MenuItem Header="Add a Group"   
  11. Click="NotImplementedMsg"/> 
  12. < /ContextMenu> 
  13. < /ListBox.ContextMenu> 
  14. < /ListBox> 

4. 接下来的WPF单向绑定创建工作就剩下设定DockPanel_LeftPane的数据上下文的值了。请将它设为Property Bag里面的ContactList。以下这行代码要放在MainWindow.xaml.cs文件中WindowLoaded方法里。

  1. DockPanel_LeftPane.DataContext = 
    Application.Current.Properties
    ["ContactList"]; 

5. 构建并运行您的应用程序。这时候联系人的信息应该可以显示在左边面板的ListBox里了。

责任编辑:曹凯 来源: IT168
相关推荐

2009-12-28 15:39:33

WPF滑动条

2009-12-24 14:38:52

WPF全屏幕窗口

2009-12-25 10:05:06

WPF资源

2009-12-24 14:18:57

WPF类型转换

2009-12-23 18:06:25

WPF模板

2009-12-24 09:56:29

WPF图像API

2009-12-28 15:08:12

WPF字体

2009-12-28 11:14:29

WPF显示文本

2010-01-26 17:36:17

Android实现全屏

2009-12-17 17:13:23

Ruby for Ec

2009-12-24 16:11:07

WPF图像处理

2009-12-25 16:10:31

WPF内存

2009-12-25 17:10:51

WPF动态资源

2009-12-23 14:49:46

WPF面板

2010-02-23 17:05:38

2010-02-25 16:07:28

WCF REST

2010-03-04 11:12:02

Python AOP

2021-02-11 08:27:28

数据

2009-12-24 15:22:10

WPF继承自定义窗口

2009-12-28 13:47:35

WPF对话框
点赞
收藏

51CTO技术栈公众号