0

我有一个DataGrid包含一些DataGridTextColumns 并且想LayoutTransform对单元格应用一个简单的,但不是标题。

问题是,DataGridTextColumn不提供LayoutTransform

我能够将LayoutTransformation 应用于 a DataGridTemplateColumn,但是我失去了很多功能并且无法将其重新构建。

到目前为止,我的样本是:

<DataGridTemplateColumn Header="Satz">
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
      <TextBlock Margin="3,0,4,1" Text="{Binding Satz}">
        <TextBlock.LayoutTransform>
          <ScaleTransform ScaleX="1.4" ScaleY="1.4"/>
        </TextBlock.LayoutTransform>
      </TextBlock>
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
  <DataGridTemplateColumn.CellEditingTemplate>
    <DataTemplate>
      <TextBox BorderThickness="0" Text="{Binding Satz, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}">
        <TextBox.LayoutTransform>
          <ScaleTransform ScaleX="1.4" ScaleY="1.4"/>
        </TextBox.LayoutTransform>
      </TextBox>
    </DataTemplate>
  </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

我正在寻找以下两种方法之一:
- 缩放DataGridTextColumn
或者,如果那不可能
- 更改DataGridTemplateColumn它以支持DataGridTextColumn(排序、编辑)的所有功能,并且最重要的是,提供相同的用户界面(现在模板列中的编辑与文本列不同)。

4

1 回答 1

2

将 LayoutTransform 放在 CellStyle 中怎么样?

    <DataGrid x:Name="dg">
        <DataGrid.Resources>
            <Style x:Key="myCellStyle" TargetType="DataGridCell">
                <Setter Property="LayoutTransform">
                    <Setter.Value>
                        <ScaleTransform ScaleX="1.4" ScaleY="1.4"/>
                    </Setter.Value>
                </Setter>
            </Style>
        </DataGrid.Resources>
        <DataGrid.Columns>
            <DataGridTextColumn CellStyle="{StaticResource myCellStyle}" Binding="{Binding Field}"/>
        </DataGrid.Columns>
    </DataGrid>
于 2010-10-12T14:41:47.850 回答