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里了。

新闻名称:WPF单向绑定正确创建方法介绍
当前网址:http://www.mswzjz.cn/qtweb/news49/264149.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能