如何绑定(bind) bool 值来选择特定图像?例如。我有我的Image
控件。我有一个名为 IsTrue
的绑定(bind)属性。
我有 2 张图片:
- TrueImg.png
- FalseImg.png
如何显示基于 bool 的图像?
那么我如何扩展它来影响字符串,例如“Male”,“Female”?
所有图像都位于 silverlight 应用程序内。
最佳答案
看看博客文章A Generic Boolean Value Converter 。使用代码就位后,您可以添加此转换器:-
public class BoolToBitmapImageConverter : BoolToValueConverter<BitmapImage> { }
现在将其实例添加到您的 Xaml 中:-
<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>
现在您可以使用此转换器进行绑定(bind):
<Image Source="{Binding YourBoolProp Converter={StaticResource boolImgConv}}" />
同样,您可以为字符串添加转换器:-
<local:BoolToStringConverter x:Key="boolSex" FalseValue="Male" TrueValue="Female" />
和:-
<TextBlock Text="{Binding YouBoolProp Converter={StaticResource boolSex}}" />
关于Silverlight 将 bool 绑定(bind)到图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298769/