Применить LayoutTransform к DataGridTextColumn - PullRequest
0 голосов
/ 12 октября 2010

У меня есть DataGrid, содержащий несколько DataGridTextColumn с, и я хотел бы применить простой LayoutTransform к ячейкам, но не к заголовку.

Проблема в том, DataGridTextColumn не предлагает LayoutTransform.

Мне удалось применить LayoutTransform действие к 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 (сортировка, редактирование) и, что наиболее важно, предлагает тот же пользовательский интерфейс (сейчас редактирование в столбце шаблона работает иначе, чем в текстовом столбце).

1 Ответ

2 голосов
/ 12 октября 2010

Как насчет размещения 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...