Silverlight将bool绑定到图像源

问题描述:

如何绑定bool以选择特定图像?例如。我有我的Image控制。我有一个名字为IsTrue的绑定属性。Silverlight将bool绑定到图像源

我有2张图片:

  1. TrueImg.png
  2. FalseImg.png

如何显示基于布尔的形象呢?

那么我怎样才能扩大这个影响字符串,如“男”,“女”?

所有图像位于silverlight应用程序内。

+0

您需要查看'Converters' – ChrisF 2011-06-09 20:24:33

看看博客文章A Generic Boolean Value Converter。随着地方代码中有你加入这个转换器: -

public class BoolToBitmapImageConverter : BoolToValueConverter<BitmapImage> { } 

现在添加了这样一个实例XAML中: - :

<Image Source="{Binding YourBoolProp Converter={StaticResource boolImgConv}}" /> 

<UserControl.Resource> 
    <local:BoolToBitmapImageConverter x:Key="boolImgConv" > 
     <local:BoolToBitmapImageConverter.TrueValue> 
      <BitmapImage UriSource="TrueImg.png" /> 
     </local:BoolToBitmapImageConverter.TrueValue> 
     <local:BoolToBitmapImageConverter.FalseValue> 
      <BitmapImage UriSource="FalseImg.png" /> 
     </local:BoolToBitmapImageConverter.FalseValue> 
    </local:BoolToBitmapImageConverter> 
</UserControl.Resource>  

现在你可以使用这个转换器绑定

同样,你可以为你的字符串添加一个转换器: -

<local:BoolToStringConverter x:Key="boolSex" FalseValue="Male" TrueValue="Female" /> 

和: -

<TextBlock Text="{Binding YouBoolProp Converter={StaticResource boolSex}}" /> 

你必须实现一个布尔到字符串转换器,并手动将你的布尔值转换为文件名。