Установка цвета текста строки таблицы данных WPF при выборе строки - PullRequest
13 голосов
/ 05 ноября 2010

Я пытаюсь изменить цвет текста в выбранной строке в сетке данных WPF.По умолчанию он меняет цвет текста на белый. Есть ли способ изменить это, используя стили / триггеры и т. Д.?

Заранее спасибо!

Ответы [ 2 ]

26 голосов
/ 05 ноября 2010

Попробуйте это

<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}" >
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Foreground" Value="Green"/>
        </Trigger>
    </Style.Triggers>
</Style>

Затем вы можете использовать его в столбцах, которые вы считаете нужными, например

<DataGrid ...>
    <DataGrid.Columns>
        <DataGridTextColumn CellStyle="{StaticResource DataGridCellStyle}" .../>

Если вы хотите, чтобы он применялся ко всем столбцам, вы можете изменить клавишу x: стиля на

<Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}" >
0 голосов
/ 02 марта 2018

Если вы хотите полностью удалить изменения цвета переднего плана (скажем, если ваша DataGrid имеет разные цвета для разных строк), вы можете сделать это:

    <Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource {x:Type DataGridCell}}">
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource Self}, Path=Foreground}" />
            </Trigger>
        </Style.Triggers>
    </Style>

Если вы хотите дать этому стилю имяКак и в предыдущем ответе, добавьте x: Key.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...