2012-08-15 29 views
0

我正在爲這樣的工作掙扎約2天,無法得到我的問題的答案或解決方案。我使用C#WPF和我的概率在這裏:DataGrid DataTemplate中的Invisble圖像

我有一個Datagrid ItemsSource被綁定。每個TextColumn都正確顯示其值。包含圖片或按鈕的DataTemplateColumns只要不輸入該單元格就不顯示其值。我想讓我的DataGrid只讀,並且一次獲取圖片而不是單擊單元格。但是隻有當你點擊單元格時才顯示。我已經嘗試過不同的圖像格式(png,bmp,jpg)

那麼DataGrid有什麼問題?

這裏是XAML部分與DataTemplaceColumn:

<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」,你可以看到。

感謝而不是使用CellEditingTemplate的進展

回答

2

,你應該使用CellTemplate -

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

CellEditingTemplate顯示,一旦你對細胞雙擊使其可編輯。而CellTemplate是你正在尋找的。

相關問題