如何绑定bool以选择特定图像?例如。我有Image
控件。我有一个名为IsTrue
的绑定属性。
我有2张图片:
如何根据bool显示图像?
那么如何扩展它以影响字符串,例如“男性”,“女性”?
所有图片都位于silverlight应用程序内。
答案 0 :(得分:4)
查看博客文章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>
现在您可以使用此转换器进行绑定:
<Image Source="{Binding YourBoolProp Converter={StaticResource boolImgConv}}" />
同样,您可以为字符串添加转换器: -
<local:BoolToStringConverter x:Key="boolSex" FalseValue="Male" TrueValue="Female" />
和: -
<TextBlock Text="{Binding YouBoolProp Converter={StaticResource boolSex}}" />
答案 1 :(得分:1)
您必须实现boolean to string转换器并手动将布尔值转换为文件名。