0

所以我得到了这个 DataGrid,我在其中手动定义了所有列:

     <DataGrid AutoGenerateColumns="False" <lotsofstuff> ItemsSource="{Binding}">
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="firstname" x:Name="firstname" Binding="{Binding Path=firstname}" />
                        <DataGridTextColumn Header="lastname" x:Name="lastname" Binding="{Binding Path=lastname}" />

                        <DataGridCheckBoxColumn Header="sick" x:Name="sick" Binding="{Binding Path=sick}"/>
                        <DataGridCheckBoxColumn Header="vacation" x:Name="vacation" Binding="{Binding Path=vacation}" />
                    </DataGrid.Columns>
                </DataGrid>

到目前为止,用数据表填充它可以正常工作:

    DataGrid.ItemsSource = DataTable.DefaultView;

但是在我的数据表中存在第 5 个布尔列,如果它是真的,我希望我的 DataGrid 显示一张图片,如果它是假的,则显示另一张图片。

我怎么做?我没有线索。

4

1 回答 1

2

在. DataGridTemplateColumn_ Image_ CellTemplateImageSource属性将是一个绑定表达式,如下所示:

{Binding Path=., Converter={StaticResource DataToImageConverter}}

IValueConverterDataToImageConverter(例如)创建一个实现以获取 DataItem {Binding} - 这将包括您的布尔值,并且在转换器中您可以返回您喜欢的任何图像。

于 2012-06-25T14:26:00.013 回答