Silverlight 将 bool 绑定(bind)到图像源

标签 silverlight

如何绑定(bind) bool 值来选择特定图像?例如。我有我的Image 控件。我有一个名为 IsTrue 的绑定(bind)属性。

我有 2 张图片:

  1. TrueImg.png
  2. 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/

相关文章:

Silverlight Prism 事件聚合器不可靠

c# - 骰子游戏的随机数

linux - clientaccesspolicy.xml 和子域

javascript - Xbox 360 HTML5/Javascript 应用程序开发

silverlight - 计时器不定期更新,每秒更新 "skips"(Silverlight 4 DispatcherTimer)

html - CSS模仿silverlight屏幕截图

silverlight - 在 Visual Studio 2010 中使用所有 silverlight 业务应用程序时,始终在设计器中看到 NullReference 异常

c# - self 跟踪实体 ListView 绑定(bind)在更改时失去值(value)

silverlight - WP7 LongListSelector - 在 DataTemplate 中找到控件

c# - 测量包含宽字符的字符串的长度