13 silverlight xaml conditional-statements windows-phone-7
我有这个listBox被填充,每个项目可以是男性或女性,取决于绑定到listBox的'SEX'属性.(男性可以是"M",女性可以是"F")......
对于每个项目,我想根据列表项SEX属性显示男性或女性符号.
例如,如果"{Binding SEX}"等于'M':
<Image Source="../Images/male48.png" Visibility="Visible" />
Run Code Online (Sandbox Code Playgroud)
如果"{Binding SEX}"等于'F':
<Image Source="../Images/female48.png" Visibility="Visible" />
Run Code Online (Sandbox Code Playgroud)
我到底该如何才能让它发挥作用?
Col*_*inE 17
解决此问题的常见方法是创建值转换器,这会将绑定返回的值转换为与UI控件的属性相关的其他值.
您可以创建一个转换器来获取性别并将其映射到图像源:
public class SexToSourceConverter : IValueConverter
{
public object Convert(object value, string typeName, object parameter, string language)
{
string url = ((string)value == "M") ? "../Images/male48.png" : "../Images/female48.png";
return new BitmapImage(new Uri(url , UriKind.Relative));
}
public object ConvertBack(object value, string typeName, object parameter, string language)
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
在您的XAML中使用它如下:
<Image Source="{Binding Path=Sex, Converter={StaticResource SexToSourceConverter }" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12498 次 |
| 最近记录: |