【问题标题】:UWP TextBox uneditable Border Color that only appears on Mouse Hover仅在鼠标悬停时出现的 UWP 文本框不可编辑的边框颜色
【发布时间】:2016-08-06 17:06:48
【问题描述】:

我想创建一个创建用户部分。为了让它看起来更有吸引力,我希望文本框下面只有一个边框,并且该边框是它们的系统强调色。在用户将鼠标悬停在边框上之前,一切正常。此时边框变为纯黑色。我找到了导致这种情况的财产;但是,不能使用它。

设置为纯黑色的属性是FocusVisualSecondaryBrush。但是在 Visual Studio 属性窗口下,TextBox 没有该属性。

请帮帮我。

【问题讨论】:

  • Does Visual Studio Rot the Mind?。没有适用于所有东西的 GUI 工具。这不是世界末日。此外,考虑更新您的问题标题以使其更有意义。它与您提出的问题并不完全相符。

标签: uwp uwp-xaml


【解决方案1】:

TextBox.BorderBrush 仅用于Normal 视觉状态。当指针在控件上时,或者当它获得焦点时,边框画笔被设置为其他东西。如果您在设计器-> Edit Template -> Edit a Copy 中右键单击文本框,您将看到文本框控件的默认样式。

实现您想要的最简单的方法是将以下资源添加到与您想要影响的文本框最接近的元素中:

<SolidColorBrush x:Key="TextControlBorderBrushPointerOver"
                 Color="{ThemeResource SystemAccentColor}"/>
<Style TargetType="TextBox">
    <Setter Property="BorderBrush"
            Value="{StaticResource SystemControlHighlightAccentBrush}"/>
</Style>

如果您将这些资源添加到您的Page.Resources,那么它将影响该页面上的所有文本框。

【讨论】:

    猜你喜欢
    • 2012-09-18
    • 2016-02-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 2012-08-08
    相关资源
    最近更新 更多