一、0,1转换成true,false用于绑定类似CheckBox中的IsChecked属性:
二、时间字符串转换
使用方法如下:
首先在需要使用转换的页面中加入下语句:
xmlns:local="clr-namespace:XXX" //XXX是你Silverlight的项目命名空间
然后添加:
<UserControl.Resources>
<local:DateTimeConverter x:Key="DateTimeConverter" />
<local:BoolConverter x:Key="BoolConverter " />
</UserControl.Resources>
<CheckBox x:Name="chk1" Content="我是CheckBox" IsChecked="{Binding 数据库表字段,Convert={StaticResource BoolConverter }}" Margin="5" />
定义一个转换器IconConverter类
// Icon是源类型,ImageSource是目标类型。[ValueConversion(typeof(Icon),typeof(ImageSource))]//继承了 IValueConverter public class IconConverter : IValueConverter { public object Convert(object value,CultureInfo culture) { Icon icon = (Icon)value; Bitmap bitmap = icon.ToBitmap(); IntPtr hBitmap = bitmap.GetHbitmap(); ImageSource bitmapSource = Imaging.CreateBitmapSourceFromHBitmap( hBitmap,IntPtr.Zero,Int32Rect.Empty,BitmapSizeOptions.FromEmptyOptions()); return bitmapSource; } //下面的函数是为了实现上面转换的逆操作的,这里我们不需要把ImageSource再变成Icon所以没有写具体的实现 public object ConvertBack(object value,CultureInfo culture) { throw new NotImplementedException(); } } 最后把数据再重新绑定一下, 1、添加引用:xmlns:local="clr-namespace:转换器所在命名空间" 2、添加资源:<local:IconConverter x:Key="iconConverter"/> 3、绑定转换器数据:<Image Source="{Binding Path=MenuIcon,Converter={StaticResource iconConverter}}" /> OK,问题解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。