【问题标题】:WPF DatePickerTextBox- change font color / opacity when IsEnabled == falseWPF DatePickerTextBox- IsEnabled == false 时更改字体颜色/不透明度
【发布时间】:2011-02-16 17:00:21
【问题描述】:

我很难让自己摆脱标题中指定的问题。这里有人做过吗?

当DatePicker 控件被禁用时,DatePickerTextBox 上的字体为灰色且难以阅读。我正在改变以改变它。

问候,弗雷德里克。

【问题讨论】:

    标签: wpf datepicker isenabled


    【解决方案1】:

    您需要查看SystemColors class... 在给定控件的资源中,您可以通过指定画笔来覆盖其中一种颜色。例如:

    <Brush x:Key="{x:Static SystemColors.GrayTextBrushKey}" Color="Black"/>
    

    【讨论】:

      【解决方案2】:

      DatePicker 的启用是使用其控制模板中名为 PART_DisabledVisual 的半透明覆盖层来控制的。您唯一真正的选择是使用 Expression Blend 或 ShowMeTheTemplate 或 MSDN 重新设置整个 DatePicker ControlTemplate 的样式并更改这些行:

      <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 变灰。禁用时该怎么做(如果有的话)取决于您。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-01
        • 2015-04-21
        • 1970-01-01
        • 1970-01-01
        • 2013-03-31
        • 2018-08-30
        • 2016-06-20
        • 1970-01-01
        相关资源
        最近更新 更多