我有一個DataGridTextColumn包含一個布爾值,這些布爾值在列上返回TRUE或FALSE。布爾轉換器打印圖像,只是打印圖像名稱c#
我想用兩個圖像替換它,一個爲TRUE,一個爲FALSE。
這是在DataGrid:
<DataGrid x:Name="DonneesBrutes" IsReadOnly="True" ItemsSource="{Binding Path=ResultatCollectionGrande}" Margin="10,65,0,0" AutoGenerateColumns="False" EnableRowVirtualization="True" RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="PrisEnCompte" Width="50" Binding="{Binding Path=Flag, Converter={StaticResource BooleanConverter}}" Header="PEC"></DataGridTextColumn>
與資源:
<Window.Resources>
<local:BooleanConverter x:Key="BooleanConverter"/>
</Window.Resources>
這是轉換器:
public class BooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value.Equals(true)) return @"booleanTrue.png";
return @"booleanFalse.png";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
轉換的作品,它改變了什麼我DataGridTextColumn顯示器。現在它顯示「booleanTrue.png」爲TRUE和「booleanFalse.png」,但它不顯示圖像。
我該如何display'em,我錯過了什麼以在我的DataGrid中打印這些圖像?
在此先感謝您的幫助。
轉換器不一定要返回Uris。它也可以是字符串,因爲WPF的內置類型轉換可以類型化ImageSource(Image控件的'Source'屬性的類型)適用於兩者。此外,當圖像作爲程序集資源(我將從OP中假設)存儲時,您將不得不返回有效的[資源文件包URI](http://msdn.microsoft.com/zh-cn/library/aa970069。 ASPX#Resource_File_Pack_URIs ___ Local_Assembly)。另一種方法是直接創建並返回BitmapImage或BitmapFrame實例。 – Clemens 2014-10-01 09:32:52