当前位置: 首页 > news >正文

哈尔滨网站建设制作费用网站统计平台

哈尔滨网站建设制作费用,网站统计平台,wordpress删除前缀,免费信息网站建设WPF 格式化输出- IValueConverter接口的使用 (2012-06-11 00:14:00) 转自:http://blog.sina.com.cn/s/blog_4b0020f301014flr.htmlConvert 原数据转换为目标数据格式ConvertBack目标数据格式转换为原数据格式以前在用ASP.NET 做B/S系统时,可以方便地在GR…

WPF 格式化输出- IValueConverter接口的使用

(2012-06-11 00:14:00)
转自:http://blog.sina.com.cn/s/blog_4b0020f301014flr.html
Convert 原数据转换为目标数据格式
ConvertBack目标数据格式转换为原数据格式
 

以前在用ASP.NET 做B/S系统时,可以方便地在GRIDVIEW DATAList等数据控件中,使用自定义的代码逻辑,比如

使用 <%# GetBalance(custID) %> 这样的调用, GetBalance()为在codebehind类中定义的方法;

在WPF应用程序中有时也有类似的需求,比如数据库表Teacher中有一个字段 Title ,int 类型,取值为1-5,分别对应讲师  研究员 高工  副教授 教授。在wpf窗口中需要直接显示 讲师 研究员类似的文字,而不是一个1-5的数字,从界面设计的角度 ,用文字来表示职称是最自然的方式。因此在数据绑定的时候需要将整数转换为对应的文本职称。但是WPF没有象ASP。NET那样的绑定表达式用法;该怎么办呢?

 

WPF框架提供了一个IValueConverter接口,负责数据源到数据控件绑定时,自定义转换逻辑。使用它包括以下步骤:

1.创建一个只转换器类,实现该接口;

2.给该类加入ValueConversion属性,并制定源类型和目标类型;

3.实现该接口的两个方法,Convert()与ConvertBack()

4.按照1-3创建类之后,在数据绑定控件中,设定Converter为该类的一个实例;

 

具体要完成上述功能:

1.首先创建实现 IValueConverter的类:

//指定转换器源类型和目标类型
[ValueConversion(typeof(int), typeof(string))]
public class TitleConverter:IValueConverter
{
//实现接口的两个方法
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int titleInt = (int)value;
string titleStr = string.Empty;
switch (titleInt)
{
case 5:
titleStr = "教授";
break;
case  4:
titleStr = "副教授";
break;
case 3:
titleStr = "高工";
break;
case 2:
titleStr = "研究员";
break;
case 1:
titleStr = "讲师";
break;
}
return titleStr;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string titleStr = value.ToString();
int titleInt = 0;
switch (titleStr)
{
case "教授":
titleInt = 5;
break;
case "副教授":
titleInt = 4;
break;
case "高工":
titleInt = 3;
break;
case "研究员":
titleInt = 2;
break;
case "讲师":
titleInt = 1;
break;
}
return titleInt;
}
#endregion
}

2.前台调用

首先需要在窗口中声明转换器类名称空间 并定义一个转换器资源

 

<Window x:Class="EvalStarServer.UserManage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EvalStarServer.BLL"
Title="UserManage" >
<Window.Resources>
<local:TitleConverter x:Key="myTitleConverter"></local:TitleConverter>
</Window.Resources>
<DataGrid Name="gdEvaluator" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Binding="{Binding Path=Name}"></DataGridTextColumn>                 
<DataGridTextColumn Header="职称" Binding="{Binding Path=Elevel,Converter={StaticResource myTitleConverter}}"></DataGridTextColumn>
<DataGridTextColumn Header="编号" Binding="{Binding Path=Eno}"></DataGridTextColumn>
<DataGridTemplateColumn Header="操作">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Tag="{Binding Path=ID}"  Click="OnDeleteEvl">删除</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Windows>


这样就实现了前台根据数据中的整数 显示不同的职称。

http://www.lbrq.cn/news/2392327.html

相关文章:

  • 珠海做网站建设google网站登录入口
  • 做打鱼网站全网关键词云在哪里看
  • 余姚网站定制seo优化快排
  • 中山seo扣费郑州网站制作选择乐云seo
  • 上海网络推广公司网站外贸网站搭建推广
  • 今天哈尔滨最新通告seo的内容怎么优化
  • 域名怎么拿来做网站云客网平台
  • 不同网站建设特点网络营销品牌公司
  • 网站建设的上机报告培训机构是干什么的
  • 东莞网站建设北京seo推广外包
  • 中山精品网站建设方案安徽seo推广
  • 猪八戒上面还是淘宝上做网站技术好大庆网络推广
  • 做网站广告有哪些职位锦州seo推广
  • 微信公众号登录失败seo推广宣传
  • 湖北省疾病预防控制中心官方网站兰州网络推广关键词优化
  • 新浪图床 wordpress济南seo优化外包服务公司
  • c 网站开发网站seo链接购买
  • 网络办理引擎搜索优化
  • 合肥城乡建设委员会的网站百度推广视频
  • 武汉 网站制作wordpress seo教程
  • 做circrna的网站网站制作教程
  • 邢台瑞光网络科技有限公司关键词排名优化顾问
  • 香港网站icp备案推广赚钱软件排行
  • 网站开发存在的风险爱站网长尾关键词挖掘查询工具
  • 茶网站建设宗旨seo网络科技有限公司
  • WordPress图片方案上海外贸seo
  • 做门窗五金的网站域名注册管理机构
  • 做网站博彩代理怎么找客源seo优化sem推广
  • 企业网站建设杭州公司seo 网站推广
  • 南通网站制作昨日凌晨北京突然宣布重大消息
  • c++——友元函数
  • Android无需授权直接访问Android/data目录漏洞
  • Django母婴商城项目实践(九)- 商品列表页模块
  • 20250718-3-Kubernetes 应用程序生命周期管理-Pod对象:存在意义_笔记
  • 微信小程序商品结算功能
  • 初探:C语言FILE结构之文件描述符与缓冲区的实现原理