继上一篇值类型转换器(Type Converter), 这篇将通过实例代码讲解一个XAML开发小技巧。
在Silverlight应用开发中,经常需要进行值转换,例如从Boolean转换到Windows.Visibility,或者从数字转换到字符。下例中演示如何在XAML中传递参数到值转换类。
定义简单数据成员类:
public class Book
{
public DateTime PublishDate { get; set; }
}
{
public DateTime PublishDate { get; set; }
}
定义值转换类:
public class DateTimeConverter : System.Windows.Data.IValueConverter
{
public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )...
public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )...
}
{
public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )...
public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )...
}
在XAML中传递参数到值转换类,
<TextBlock Text="{Binding PublishDate, Converter={StaticResource DateTimeConverter}, ConverterParameter=true}"/>
在CS代码中,传递参数到值转换类,
Book myBook = new Book();
myBook.PublishDate = DateTime.Now;
Binding binding = new Binding( "PublishDate" );
binding.Source = myBook;
binding.Converter = new DateTimeConverter();
binding.ConverterParameter = true;
myBook.PublishDate = DateTime.Now;
Binding binding = new Binding( "PublishDate" );
binding.Source = myBook;
binding.Converter = new DateTimeConverter();
binding.ConverterParameter = true;
XAML实例教程系列:
XAML实例教程系列 - 标记扩展(Markup Extensions)XAML实例教程系列 - 类型转换器(Type Converter)
欢迎大家留言交流,或者加入QQ群交流学习:
22308706(一群) 超级群500人
37891947(二群) 超级群500人
100844510(三群) 高级群200人
32679922(四群) 超级群500人
23413513(五群) 高级群200人
32679955(六群) 超级群500人
88585140(八群) 超级群500人
128043302(九群 企业应用开发推荐群) 高级群200人
101364438(十群) 超级群500人
68435160(十一群 企业应用开发推荐群)超级群500人