Wpf DataGrid DataTemplate中的不可见图像

Wpf DataGrid DataTemplate中的不可见图像,wpf,image,xaml,datagrid,datatrigger,Wpf,Image,Xaml,Datagrid,Datatrigger,我为此挣扎了大约两天,却找不到问题的答案或解决方案。 我正在使用C#WPF,我的问题是: 我有一个数据网格,它绑定了ItemsSource。每个文本列都正确显示其值。包含图片或按钮的DataTemplateColumns不显示其值,只要我不输入该单元格。我想让我的DataGrid只读,并立即显示图片,而不是单击单元格。但它们仅在单击单元格时显示。我已经尝试过不同的图像格式(png、bmp、jpg) 那么,数据网格有什么问题 以下是带有DataTemplaceColumn的XAML部分: <

我为此挣扎了大约两天,却找不到问题的答案或解决方案。 我正在使用C#WPF,我的问题是:

我有一个数据网格,它绑定了ItemsSource。每个文本列都正确显示其值。包含图片或按钮的DataTemplateColumns不显示其值,只要我不输入该单元格。我想让我的DataGrid只读,并立即显示图片,而不是单击单元格。但它们仅在单击单元格时显示。我已经尝试过不同的图像格式(png、bmp、jpg)

那么,数据网格有什么问题

以下是带有DataTemplaceColumn的XAML部分:

<DataGrid AlternatingRowBackground="Gainsboro"
              AlternationCount="2"
              AutoGenerateColumns="False"
              Height="200"
              HorizontalAlignment="Left" 
              ItemsSource="{Binding}"
              Name="DgMain" 
              VerticalAlignment="Top" 
              Width="778" 
              CanUserReorderColumns="False" 
              CanUserResizeColumns="False" 
              CanUserResizeRows="False" 
              CanUserSortColumns="True"
              IsReadOnly="True">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="Pic">
                <DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                        <Image x:Name="ImgDgMainPic"></Image>
                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding pic}" Value="pic1">
                                <Setter TargetName="ImgDgMainPic" Property="Source" Value="Images\picture1.png"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding pic}" Value="pic2">
                                <Setter TargetName="ImgDgMainPic" Property="Source" Value="Images\picture2.png"/>
                            </DataTrigger>
                        </DataTemplate.Triggers>
                    </DataTemplate>
                </DataGridTemplateColumn.CellEditingTemplate>
            </DataGridTemplateColumn>

DataTriger绑定的值是包含“pic1”或“pic2”的字符串,如您所见


提前感谢

您应该使用
CellTemplate,而不是使用
CellEditingTemplate
-

<DataGridTemplateColumn.CellTemplate>
   ......              
</DataGridTemplateColumn.CellTemplate>

......              
双击单元格使其可编辑后,将显示CellEditingTemplate。而CellTemplate正是您需要的