2011-06-09 77 views
2

如何綁定bool以選擇特定圖像?例如。我有我的Image控制。我有一個名字爲IsTrue的綁定屬性。Silverlight將bool綁定到圖像源

我有2張圖片:

  1. TrueImg.png
  2. FalseImg.png

如何顯示基於布爾的形象呢?

那麼我怎樣才能擴大這個影響字符串,如「男」,「女」?

所有圖像位於silverlight應用程序內。

+0

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

回答

4

看看博客文章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}}" /> 
1

你必須實現一個布爾到字符串轉換器,並手動將你的布爾值轉換爲文件名。