微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight – 在XAML代码中写入条件语句

我有这个listBox被填充,每个项目可以是男性或女性,具体取决于绑定到列表框的“SEX”属性. (可以是男性’M’,女性’F’)…

对于每个项目,我想根据列表项SEX属性显示一个男性或女性符号.

例如,如果“{Binding SEX}”等于’M’:

<Image Source="../Images/male48.png" Visibility="Visible" />

如果“{Binding SEX}”等于’F’:

<Image Source="../Images/female48.png" Visibility="Visible" />

我该怎么去做这个工作?

解决方法

这个问题的一个常见方法是创建一个值转换器,它将绑定返回的值转换为与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 language)
  {
    throw new NotImplementedException();
  }
}

在您的XAML中使用它,如下所示:

<Image Source="{Binding Path=Sex,Converter={StaticResource SexToSourceConverter }" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐