首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextBox SystemColors: WPF边框的颜色

TextBox SystemColors: WPF边框的颜色
EN

Stack Overflow用户
提问于 2009-06-05 12:27:07
回答 5查看 20.4K关注 0票数 8

我正在尝试做一个带有嵌入式放大镜图标的搜索TextBox。到目前为止,我有以下标记:

代码语言:javascript
复制
<Border DockPanel.Dock="Bottom" Margin="2,4,0,4" 
        BorderThickness="1" SnapsToDevicePixels="True" 
        BorderBrush="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}">
    <DockPanel>
        <StackPanel Orientation="Horizontal" DockPanel.Dock="Right">
            <Image Source="/Resources/search-13x13.png" Width="13"/>
        </StackPanel>
        <TextBox Name="searchTextBox" DockPanel.Dock="Bottom" BorderThickness="0" 
                 Text="{Binding FilterText, UpdateSourceTrigger=PropertyChanged}"/>
    </DockPanel>
</Border>

但是,我在SystemColors中找不到与标准TextBox边框具有相同颜色的条目。默认情况下,此颜色为浅蓝色。我真的很愚蠢吗?!?

编辑:顺便说一句,图像包含在堆叠面板中,因为我计划在那里放一个下拉箭头。

EN

回答 5

Stack Overflow用户

发布于 2009-06-05 13:27:20

您可以尝试使用Microsoft.Windows.Themes.ListBoxChrome而不是边框;这是TextBox的默认模板所使用的:

代码语言:javascript
复制
<ControlTemplate TargetType="TextBoxBase" 
                 xmlns:mwt="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
    <mwt:ListBoxChrome Name="Bd" SnapsToDevicePixels="True">
        <ScrollViewer Name="PART_ContentHost" 
                      SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
    </mwt:ListBoxChrome>
    <ControlTemplate.Triggers>
        <Trigger Property="UIElement.IsEnabled" Value="False">
            <Setter TargetName="Bd" Property="Panel.Background" 
                    Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
            <Setter Property="TextElement.Foreground" 
                    Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

您应该能够只使用ListBoxChrome而不是边框,而不是重新模板化TextBox来匹配您所呈现的代码。

票数 5
EN

Stack Overflow用户

发布于 2010-01-15 07:52:59

我可以通过以下方式通过编程获得它:

代码语言:javascript
复制
TextBox.BorderBrush = SystemColors.ControlDarkBrush;
票数 3
EN

Stack Overflow用户

发布于 2011-08-09 04:53:20

对于任何正在寻找画笔列表以及它们的颜色在不同主题/操作系统下的外观的人

我会在这里看:http://blogs.msdn.com/b/wpf/archive/2010/11/30/systemcolors-reference.aspx

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/955597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档