Silverlight将bool绑定到图像源
问题描述:
如何绑定bool以选择特定图像?例如。我有我的Image
控制。我有一个名字为IsTrue
的绑定属性。Silverlight将bool绑定到图像源
我有2张图片:
- TrueImg.png
- FalseImg.png
如何显示基于布尔的形象呢?
那么我怎样才能扩大这个影响字符串,如“男”,“女”?
所有图像位于silverlight应用程序内。
答
看看博客文章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}}" />
答
你必须实现一个布尔到字符串转换器,并手动将你的布尔值转换为文件名。
您需要查看'Converters' – ChrisF 2011-06-09 20:24:33