2017-08-04 54 views
0

我正試圖在我的DataGrid中放置一張圖片。所以我使用了DataGridTemplateColumn,但結果是「毛病」。在DataGrid中安裝圖片

這裏是我的WPF提取代碼:

<DataGrid MinRowHeight="24" x:Name="ListFamily" Grid.Column="1" 
        Margin="2" VerticalContentAlignment="Stretch" 
        HorizontalContentAlignment="Stretch" 
        AutoGenerateColumns="False" IsReadOnly="True" 
        SelectionChanged="ListFamily_SelectionChanged" 
        CanUserReorderColumns="False" 
        CanUserSortColumns="False" Grid.Row="1"> 
    <DataGrid.Columns> 
     <!-- some datagridcolumn --> 
     <DataGridTemplateColumn Width="Auto" CanUserResize="False" IsReadOnly="True"> 
      <DataGridTemplateColumn.Header> 
       <Label Content="{x:Static res:StringResources.language}" ToolTip="{x:Static tt:TooltipStrings.language}" HorizontalContentAlignment="Stretch"/> 
      </DataGridTemplateColumn.Header> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Image Source="{Binding Language, Converter={StaticResource StringToPicture}}" Height="{Binding RowHeight, ElementName=ListFamily}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="Uniform"/> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
      <DataGridTemplateColumn.CellStyle> 
       <Style> 
        <Setter Property="FrameworkElement.VerticalAlignment" Value="Center"/> 
       </Style> 
      </DataGridTemplateColumn.CellStyle> 
     </DataGridTemplateColumn> 
    </DataGrid.Columns> 
</DataGrid> 

,這裏是我所得到的:

Picture size is glitching ?

我triend綁定的DataGrid rowHeight的,但沒有運氣。有任何想法嗎 ?

感謝

蒂博

+0

我得到同樣的結果:/ – Thibaud

+0

我想沒有和它的工作 - 」我感覺現在感到厭倦^^謝謝@ASh,你給了我很好的提示! – Thibaud

回答

0

使用此代碼工作:

<DataGridTemplateColumn Width="Auto" CanUserResize="False" IsReadOnly="True"> 
    <DataGridTemplateColumn.Header> 
     <Label Content="{x:Static res:StringResources.language}" ToolTip="{x:Static tt:TooltipStrings.language}" HorizontalContentAlignment="Stretch"/> 
    </DataGridTemplateColumn.Header> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
     <Image Source="{Binding Language, Converter={StaticResource StringToPicture}}" Stretch="Uniform"/> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn>