【问题标题】:WPF get the default TextBox mouse over colorWPF 获取默认的 TextBox 鼠标悬停颜色
【发布时间】:2020-01-30 11:13:36
【问题描述】:

我想用与默认TextBox 的鼠标悬停颜色完全相同的颜色为控件着色(最好是主题感知)。例如

<Rectangle Fill={x:Static WhatDoIPutHere}/>

我可以在哪个键/资源下访问颜色?在我当前的系统中,它似乎是 #ff7eb4ea 浅蓝色,但 *Highlight*、*Control* 或 *Border* System Colors 似乎都没有那个值。

【问题讨论】:

    标签: wpf xaml resources wpf-style


    【解决方案1】:

    你是对的! MouseOver Border 颜色是 #FF7EB4EA;这是在TextBox.MouseOver.Border 键下。我认为您无法从外部访问这些资源。您可以从默认的ControlTemplate 获取这些详细信息以获取TextBox。这是

    <SolidColorBrush x:Key="TextBox.Static.Border" Color="#FFABAdB3"/>
    <SolidColorBrush x:Key="TextBox.MouseOver.Border" Color="#FF7EB4EA"/>
    <SolidColorBrush x:Key="TextBox.Focus.Border" Color="#FF569DE5"/>
    <ControlTemplate TargetType="{x:Type TextBox}">
        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
            <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/>
        </Border>
        <ControlTemplate.Triggers>
            <Trigger Property="IsEnabled" Value="false">
                <Setter Property="Opacity" TargetName="border" Value="0.56"/>
            </Trigger>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource TextBox.MouseOver.Border}"/>
            </Trigger>
            <Trigger Property="IsKeyboardFocused" Value="true">
                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource TextBox.Focus.Border}"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>
    

    如果您使用 Blend for Visual Studio,请参阅 this 以了解如何访问任何控件的默认 Templates。如果您使用的是 Visual Studio,可以查看this

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多