找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-10-8 21:41  /   查看:4754  /  回复:0
本文主要演示通过 IValueConverter 实现 int 与 bool 类型之间的转换。

主要实现方法是,首先继承IValueConverter实现一个自己的数据转换类型,BoolValueConverter的功能是判断该员工是否是五年以上工龄
  1.     public class BoolValueConverter : IValueConverter
  2.     {

  3.         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  4.         {
  5.             Int32 seniority = -1;
  6.             if (Int32.TryParse(value.ToString(),out seniority))
  7.             {
  8.                 if (seniority < 5)
  9.                 {
  10.                     return false;
  11.                 }
  12.                 else
  13.                 {
  14.                     return true;
  15.                 }
  16.             }
  17.             return false;
  18.         }

  19.         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  20.         {
  21.             throw new NotImplementedException();
  22.         }
  23.     }
复制代码


然后将BoolValueConverter 设置给Flexgrid的【五年以上工龄】列
  1.     <c1:C1FlexGrid Name="c1FlexGrid1"
  2.                     Margin="10,10,0,0"
  3.                     HorizontalAlignment="Left"
  4.                     VerticalAlignment="Top"
  5.                     AutoGenerateColumns="False">
  6.         <c1:C1FlexGrid.Columns>
  7.             <c1:Column Binding="{Binding Code}" Header="员工编号" />
  8.             <c1:Column Binding="{Binding Name}" Header="姓名" />
  9.             <c1:Column Binding="{Binding Seniority, Mode=TwoWay}" Header="工龄" />
  10.             <c1:Column Header="五年以上工龄">
  11.                 <c1:Column.CellTemplate>
  12.                     <DataTemplate>
  13.                         <CheckBox Name="checkBox1"
  14.                                     Content="五年以上工龄"
  15.                                     IsChecked="{Binding Seniority,
  16.                                                         Converter={StaticResource BoolValueConverter}}" />
  17.                     </DataTemplate>
  18.                 </c1:Column.CellTemplate>
  19.             </c1:Column>
  20.         </c1:C1FlexGrid.Columns>
  21.     </c1:C1FlexGrid>
复制代码


源码下载:VS2010 + Silverlight 4 + ComponentOne 2012V2


运行截图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部