如何使用datagridcell宽度

时间:2017-05-10 09:41:41

标签: wpf datagrid datagridcell

这是我的问题:选择行的唯一方法是点击图片(绿色圆圈)。

我想做什么:当我点击DataGridCell时,不仅是图片,还会选择整行。

我有DataGridTemplateColumn来显示DataGrid中的图片。

我将SelectionMode="Single" SelectionUnit="FullRow"设置为DataGrid属性。

但是如果我没有在图像上单击“完全”,则不会选择该行。

SCREESHOTS

我做了一些截图来更清楚地解释它:

图片尺寸: Image size

DataGridCell的大小 Row size

因此,在我看来,问题可能来自两件事:

  • 尺寸图像不适合整个cell,所以这就是原因,但我该如何适应呢?
  • Cell选择已停用,我可以启用它

谢谢你的时间!

编辑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>

2 个答案:

答案 0 :(得分:0)

对于那些想知道它是什么的人:

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

这造成了图像错误...我不知道为什么,但它失去了点击图像的效果...不知道更多,我用另一种方式添加{{1行到。

答案 1 :(得分:0)

使用Margin代替Padding

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