WPF and Silverlight学习笔记(二十一):数据绑定值的自定义转换

对于数据绑定,绑定的数据源的值类型和绑定目标的依赖属性的值类型可能 会不同,系统提供了一些默认的绑定类型转换,另外也可以由用户自定义这种绑 定转换:

一、定义CLR类型

定义一个CLR类型,内部存在两个属性字符串类型的 ColorString和Color对象类型的ColorObject,供应用程序界面调用:

1: using System.ComponentModel;
2: using  System.Windows.Media;
3:
4: namespace  BasicWPFDataBinding
5: {
6:   public class  MyBindingColor : INotifyPropertyChanged
7:   {
8:      public event PropertyChangedEventHandler PropertyChanged;
9:
10:     public MyBindingColor()
11:     {
12:       _ColorString = "Red";
13:        _ColorObject = Colors.Red;
14:     }
15:
16:     // 字符串类型的ColorString
17:     private  string _ColorString;
18:     public string ColorString
19:     {
20:       set
21:       {
22:         _ColorString = value;
23:          if (PropertyChanged != null)
24:         {
25:           PropertyChanged(this,new  PropertyChangedEventArgs("ColorString"));
26:          }
27:       }
28:       get
29:        {
30:         return _ColorString;
31:        }
32:     }
33:
34:     //  Color对象类型的ColorObject
35:     private Color  _ColorObject;
36:     public Color ColorObject
37:      {
38:       set
39:       {
40:          _ColorObject = value;
41:         if  (PropertyChanged != null)
42:         {
43:            PropertyChanged(this, new PropertyChangedEventArgs ("ColorObject"));
44:         }
45:        }
46:       get
47:       {
48:          return _ColorObject;
49:       }
50:      }
51:   }
52: }

时间: 2024-09-20 00:32:09

WPF and Silverlight学习笔记(二十一):数据绑定值的自定义转换的相关文章

WPF and Silverlight学习笔记(十一):WPF控件内容模型

WPF控件内容模型主要指派生于System.Windows.Controls.Control类的各种 控件,其主要分为四部分: ContentControl HeaderedContendControl ItemsControl< /p> HeaderedItemsControl 其继承关系请参考我上一篇博客的内容. 这四个类用作为 WPF 中大多数控件的基类.使用这些内容模型的类可以 包含相同类型的内容,并以相同的方式处理该内容:可以放置在某个 ContentControl(或从 Conte

WPF and Silverlight学习笔记(二十五)

WPF and Silverlight学习笔记(二十五):使用CollectionView实现对绑定数据的排序.筛选.分组 在第二十三节,我们使用CollectionView实现了对于绑定数据的导航,除导 航功能外,还可以通过CollectionView对数据进行类似于DataView的排序.筛选 等功能. 一.数据的排序: 使用第二十四节的数据源,查询所有 的产品信息: 1: <Window x:Class="WPF_24.CollectionViewSortData" 2:

WPF and Silverlight学习笔记(十二)

WPF and Silverlight学习笔记(十二):WPF Panel内容模型.Decorator内容模型及其他 一.Panel内容模型 Panel内容模型指从 System.Windows.Controls.Panel继承的控件,这些控件都是容器,可以在内部 承载其他的控件和子容器.Panel内容模型包含的容器有: Canvas DockPanel Grid TabPanel ToolBarO verflowPanel UniformGrid StackPanel ToolBarPanel

WPF and Silverlight学习笔记(七)

WPF and Silverlight学习笔记(七):WPF布局管理之StackPanel.WrapPanel.DockPanel 一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1 .可以使用Orientation属性更改堆叠的顺序 Orientation="Vertical" 默认,由上到下显示各控件 .控件在未定义的前提下,宽度为StackPanel的宽度,高度自动适应控件中内容 的高度 1: <StackPanel Orientation=&q

WPF and Silverlight学习笔记(二十九):Brush(1)

在WPF和Silverlight中,Brush是应用很多的一种类型,主要用于填充各种图 形及控件.Brush及其子类位于System.Windows.Media命名空间,其继承关系如 下图所示: 一.SolidColorBrush SolidColorBrush是最简单的一种Brush,包含 一个Color属性,表示单色的画刷,例如使用红色填充一个矩形: 1: <Rectangle Margin="5" Height="50"> 2: <Recta

WPF and Silverlight学习笔记(一):开发环境及参考资料

前一段时间一直很忙很忙,从4月份开始终于有时间学习一些新的东西了.回 头一看,要学习整理的东西太多了:WPF.WCF.WF.Silverlight.JQuery. Ajax.ASP.Net MVC.ADO.Net Entry-想了想,终于决定先学习整理一下 WPF和Silverlight的内容.并与园子里的朋友分享. 笔者的开发环境如 下: 操作系统:Vista+SP1 英文版 开发工具:Visual Studio 2008+SP1英文版 Silverlight 3.0 Beta Silverl

kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1606422 本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6.x系列操作系统下KVM优化的点,有很多都是默认支持开启了的,除了采用virtio方式的磁盘IO,与网络IO接口

WPF and Silverlight学习笔记(二十):WPF数据绑定概述

WPF数据绑定为应用程序提供了一种表示数据和与数据交互的简单而又一致的 方法.元素能够以公共语言运行库 (CLR) 对象和 XML 的形式绑定到各种数据源 中的数据. 一.数据绑定的基本概念: 数据绑定涉及到两个方面 :一个是绑定源,再一个是绑定目标.绑定源即控件绑定所使用的源数据,绑定 目标即数据显示的控件. 1.对于绑定源,在WPF可以是以下四种: CLR对象:可以绑定到CLR类的公开的属性.子属性.索引器上 ADO.Net对象:例如DataTable.DataView等 XML文件:使用X

WPF and Silverlight学习笔记(二十二):使用代码实现绑定、绑定数据的验证

一.通过代码实现数据绑定 通过代码实现数据绑定,使用的是 System.Windows.Data命名空间的Binding类,主要使用Binding类的如下的属性 : Source属性:绑定到的数据源 Mode属性:绑定的模式 (OneTime.OneWay.TwoWay.OneWayToSource或Default) Path属性: 绑定到的数据源的属性 Converter属性:绑定时所使用的类型转换器 在绑定目标控件上使用SetBinding方法添加数据绑定.例如将MyData的 Name属性