一、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" />
三、Image图片Source属性绑定
定义一个转换器IconConverter类
[ValueConversion(typeof(Icon), typeof(ImageSource))]// Icon是源类型,ImageSource是目标类型。
//继承了 IValueConverter public class IconConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, 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, Type targetType, object parameter, 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,问题解决了。