FlipView、ComboBox数据绑定和数据绑定的Converter

FlipView、ComboBox等控件类似于ListView, 都可以使用Items、ItemSource等,都可以定义ItemTemplate定制Item的展现形式。

FlipView是同时只显示一项,可以通过左右侧的方向按钮来左右移动显示其他项。


数据绑定的Converter

先需要定义转换器类,转换器要实现IValueConverter接口

Convert方法用于把绑定模型的属性类型转换为被绑定UI元素的数据类型,value为转换前数据,把转换后数据以返回值形式返回。

ConvertBack方法用于当TwoWay绑定的时候UI值发生变化反向修改Model属性值的时候做转换。如果不做TwoWay绑定可以简单抛出“未实现异常”即可。

在使用Converter的Xaml页面顶端加入:xmlns:local=“clr-namespace:Converter所在的命名空间”,local为随意取的名字。这句话相当于在xaml中using一个namespace。

根节点中声明Resources资源:<local:BoolVisibilityConverter x:Key="boolVisibilityConverter"></local:BoolVisibilityConverter>

数据绑定中Visibility="{Binding IsVIP, Converter={StaticResource boolVisibilityConverter}}"

public class BoolVisibilityConverter:IValueConverter
{
	public object Convert(object value,Type targetType, object parameter, string language)
	{
		bool b=(bool) value;
		return b?Visibility.Visible:Visibility.Collapsed;
	}
	public object ConvertBack(object value,Type targetType, object parameter, string language)
	{
		//不是TwoWay绑定: throw new NotImplementedException();
		Visibility v=(Visibility) value;
		return v==Visibility.Visible;
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章