Converters
***bool转visible枚举
public class VisibilityConverter : IValueConverter { object IValueConverter.Convert(object value, Type targetType, object parameter, string language) { if ((bool)value) { //return "0xEA8C"; &#x; return Visibility.Visible; } else { return Visibility.Collapsed; } } object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language) { var s = (Visibility)value; bool result = false; switch (s) { case Visibility.Visible: result=true; break; case Visibility.Collapsed: result = false; break; default: break; } return result; } }
*** 0,1整数转换bool
public class Int2BoolConverter:IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { //return true; var dv = (int)value; return (dv==0) ? false : true; } public object ConvertBack(object value, Type targetType, object parameter, string language) { if ((bool)value) { return 1; } else { return 0; } } }
***图片文件转imagebrush
public class File2ImageBrushConverter:IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { var SkinImageBrush = new ImageBrush(); StorageFile file = value as StorageFile; using (IRandomAccessStream ir = file.OpenAsync(FileAccessMode.Read).GetResults()) { BitmapImage bi = new BitmapImage(); bi.SetSourceAsync(ir).GetResults(); SkinImageBrush.ImageSource = bi; return SkinImageBrush; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } }
***DateTime转字符转
public class DateTimeConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { var time = (DateTime)value; return time.ToString("yyyy年MM月dd日"); } public object ConvertBack(object value, Type targetType, object parameter, string language) { return null; } }
*** bool/主题明暗 转换
public class AppThemeConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, string language)
{
if ((bool)value)
{
return ApplicationTheme.Dark;
}
else
{
return ApplicationTheme.Light;
}
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language)
{
bool result = false;
switch (value)
{
case ApplicationTheme.Dark:
result = true;
break;
case ApplicationTheme.Light:
result = false;
break;
}
return result;
}
}
public class ElementThemeConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, string language)
{
if ((bool)value)
{
return ElementTheme.Dark;
}
else
{
return ElementTheme.Light;
}
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language)
{
bool result = false;
switch (value)
{
case ElementTheme.Dark:
result = true;
break;
case ElementTheme.Light:
result = false;
break;
}
return result;
}
}
***颜色Color/画刷Brush
public class ColorBrushConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, string language)
{
return new SolidColorBrush((Windows.UI.Color)value);
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language)
{
SolidColorBrush scb = value as SolidColorBrush;
return scb.Color;
}
}
***