WPF DatePickerTextBox - изменить цвет шрифта / непрозрачность, когда IsEnabled == false - PullRequest
1 голос
/ 16 февраля 2011

Я с трудом пытаюсь вывести себя из проблемы, указанной в названии. Кто-нибудь здесь делал это?

Когда элемент управления DatePicker отключен, шрифт DatePickerTextBox отображается серым цветом и его трудно прочитать. Я изменяюсь, чтобы изменить это.

С уважением, Фредрик.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2011

Вы захотите заглянуть в класс SystemColors ... В ресурсах для данного элемента управления вы можете переопределить один из этих цветов, задав кисть. Например:

<Brush x:Key="{x:Static SystemColors.GrayTextBrushKey}" Color="Black"/>
1 голос
/ 17 февраля 2011

Включение DatePicker контролируется с помощью полупрозрачного наложения в его шаблоне управления, называемом PART_DisabledVisual. Ваш единственный реальный вариант - изменить стиль всего DatePicker ControlTemplate с помощью Expression Blend или ShowMeTheTemplate или MSDN и изменить эти строки:

<Rectangle Grid.Row="0" Grid.Column="0" RadiusX="1" RadiusY="1" Fill="#A5FFFFFF"/>
<Rectangle Grid.Row="0" Grid.Column="1" RadiusX="1" RadiusY="1" Fill="#A5FFFFFF" Height="18" Width="19" Margin="3,0,3,0" />

к этому:

<Rectangle Grid.Column="0" Fill="Transparent" RadiusY="1" Grid.Row="0" RadiusX="1"/>
<Rectangle Grid.Column="1" Fill="Transparent" Height="18" Margin="3,0,3,0" RadiusY="1" Grid.Row="0" RadiusX="1" Width="19"/>

, что помешает оверлею затенить TextBox. Что делать вместо этого, если он отключен, если что-то зависит от вас.

...