2017-05-10 15 views
0

これは私の問題です:行を選択する唯一の方法は、画像(緑色の円)をクリックすることです。幅画像をデータグリッドセルの幅に合わせる方法

私がしたいこと:DataGridCellをクリックすると、イメージだけでなく、行全体が選択されます。

DataGridに画像を表示するのはDataGridTemplateColumnです。

DataGridプロパティとしてSelectionMode="Single" SelectionUnit="FullRow"を設定しました。

ただし、画像上で正確にクリックしないと、その行は選択されません。画像の

サイズ:DataGridCell Row size


Image size

サイズを


SCREESHOTS

は、私はより明確にそれを説明するためにいくつかのスクリーンショットをしました

だから、私の意見では、問題は2つのことから来ることができます:それはなぜですので

  • をサイズの画像は、全体cellに適合していませんが、どのように私はそれに合うことができますか?
  • Cell選択は無効になり、私はそれをあなたの時間のための

感謝を有効にすることができます!


EDITについて、それが何であったかを知りたい人のために1

<DataGridTemplateColumn Header="{Binding, Source={StaticResource proxy}}" HeaderStyle="{StaticResource }" ClipboardContentBinding="{Binding}"> 
    <DataGridTemplateColumn.CellTemplate > 
      <DataTemplate> 
       <Grid> 
        <Image Source="{Binding }" Style="{DynamicResource }" /> 
       </Grid> 
      </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 
+0

'DataGridTemplateColumn'の' Image'の周囲に 'Grid'を置き、' background'を 'Transparent'に設定します。 –

+0

すでにありました。私は 'DataGridTemplateColumn'をどのように作成したのかを示すために追加しました – Destunk

+1

私はあなたの問題がどこにあるのか分かりません:http://i.imgur.com/geyme06.gif –

答えて

0

:これはイメージのバグを作っ

<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type DataGridCell}"> 
      <Grid> 
       <ContentPresenter Padding="5,1" /> 
      </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter> 

...私はなぜ知りませんしかし、画像の周りをクリックすると効果が失われます...もっと分かりませんが、別の方法で行にPaddingを追加しました。

0

Paddingの代わりにMarginを使用してください。

<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type DataGridCell}"> 
      <Grid Margin="5,1"> 
       <ContentPresenter/> 
      </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter> 
+0

私は変更が表示されません..'Padding'よりも優れていますが、' Margin'の有無にかかわらず、それは同じことです: – Destunk

関連する問題