wpf文本框平面边框样式

2024-01-28

需要为基于 wpf 的文本框提供平面边框样式...真的很惊讶地发现没有简单的方法可以像 winforms 文本框 BorderStyle.FixedSingle 那样获得此样式

有没有简单的方法可以为 wpf 文本框完成此操作


实现的方法是使用控件模板自己绘制边框。您可以通过多种不同的方式来完成此操作,这里有几种供您查看。

快速破解方法:

<TextBox>
    <TextBox.Template>
        <ControlTemplate TargetType="{x:Type TextBox}">
            <Grid>
                <Rectangle  Stroke="{StaticResource ResourceKey=detailMarkBrush}" StrokeThickness="1"/>
                <TextBox Margin="1" Text="{TemplateBinding Text}" BorderThickness="0"/>
            </Grid>
        </ControlTemplate>
    </TextBox.Template>
</TextBox>

然后就是使用资源......

<ResourceDictionary>
    <Color x:Key="detailMark">#FFA1A9B3</Color>
    <SolidColorBrush x:Key="detailMarkBrush" Color="{StaticResource ResourceKey=detailMark}" />
    <Style x:Key="flatTextBox" TargetType="{x:Type TextBox}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TextBox}">
                    <Grid>
                        <Rectangle  Stroke="{StaticResource ResourceKey=detailMarkBrush}" StrokeThickness="1"/>
                        <TextBox Margin="1" Text="{TemplateBinding Text}" BorderThickness="0"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

然后你可以使用以下样式:

<TextBox Style="{StaticResource ResourceKey=flatTextBox}" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wpf文本框平面边框样式 的相关文章

  • 触发 OnPropertyChanged 的​​更好方法

    我们有一个遵循 MVVM 模式的 WPF 项目 在视图模型中有很多代码 如下所示 private string m Fieldname public string Fieldname get return m Fieldname set m
  • 如何选择 Windows 窗体文本框中的所有文本?

    我想选择文本框中的所有文本 我已经使用下面的代码尝试过 textBoxResults SelectionStart 0 textBoxResults SelectionLength textBoxResults Text Length 来源
  • 如何将图像转换为字节数组[重复]

    这个问题在这里已经有答案了 有人能建议我如何将图像转换为字节数组 反之亦然吗 我正在开发 WPF 应用程序并使用流读取器 将图像更改为字节数组的示例代码 public byte ImageToByteArray System Drawing
  • 双击数据网格时出现问题

    我的 C 代码中的数据网格有以下内容
  • WPF RichTextBox TextChanged 事件 - 如何查找已删除或插入的文本?

    在使用 RichTextBox 创建自定义编辑器时 我遇到了使用 TextChanged 事件提供的信息查找已删除 插入文本的问题 的实例文本更改事件参数 http msdn microsoft com en us library syst
  • 在wpf中快速生成ViewModel属性?

    看完之后本文 http msdn microsoft com en us magazine dd419663 aspx a 在我的中有以下代码PersonViewModel class public Jurisdiction Country
  • 指定 Xaml 中开始标记和结束标记之间的属性

    考虑以下 Xaml
  • 上传大型 xml 到 WCF REST 服务 -> 400 错误请求

    我一直在尝试寻找这个错误 但到目前为止还没有运气 所以我的客户端上有一个带有此 web config 的服务
  • WPF 位图到图像的转换仅显示黑色图像

    我确实在以 wpf Image 形式显示图像 uEye Cam 时遇到一些问题 显示的 图像全黑 下面是我使用的代码 Get Cam Bitmap Image var cam new uEye Camera cam Init cam Mem
  • WPF 找不到某些字体

    为什么会这样Media Fonts找不到 Arial Rounded MT Bold foreach var f in System Windows Media Fonts SystemFontFamilies if f Source Ar
  • 如何在 SSRS 中将文本框设置为多行?

    我有一份包含许多字段的报告 我试图将其水平缩小到 1 页 我不在乎它是 2 页还是 200 页垂直 只是不想处理 2 页宽 x长达几页的火车残骸 也就是说 它处理联系信息 我的想法是这样做 Name Address City State J
  • 列表框仅显示一项

    我有一个ListBox和一个带有字符串的类 每次用户单击应用程序中的添加按钮时 我都会创建该类的一个新实例并将其添加到绑定到的列表中ListBox 第一次单击 添加 按钮时 列表框显示第一项 但下次单击时不再显示两项 XAML 这是List
  • 给 MVVM 中的 View 一些命令

    假设我有一些用户控制权 用户控件有一些子窗口 用户控制用户想要关闭某种类型的子窗口 用户控制代码后面有一个方法 public void CloseChildWindows ChildWindowType type 但我无法调用此方法 因为我
  • 如何重新启动 WPF 应用程序?

    如何从代码重新启动 WPF 应用程序 在 Windows 窗体中存在 Application Restart 但出于某种原因 Microsoft 决定不在 WPF 中添加此方法 我讨厌 WPF 和 Windows 窗体之间的不兼容 喜欢 w
  • MVC 4 文本框未在回发时更新

    我有一个使用 modelview 对象的表单 该对象在提交表单的回发时不会更新文本框值 提交表单时 我编辑绑定到文本框的对象的属性 当表单返回时 对象属性仍然更改 但文本框值不会更改 这就像文本框值被缓存并且不会改变 我该如何解决 文本框默
  • 打印 WPF 位图图像

    打印位图图像的最佳方法是什么 我有 System Drawing 背景 所以我正在考虑将其转换为位图 然后打印它 但我认为可能有更好的方法 Thanks 根据 Drew 的回答 最好测量并安排传递给 PrintVisual 方法的容器 这将
  • 良好的 WPF 或 silverlight windows 小工具示例

    有人有 WPF 或 silverlight windows 小工具的好例子吗 诺兰多02 您好 我在网上看到了一些侧边栏小工具演示和教程 我将在这里列出它们以供您审查 希望其中一些能引起您的注意 并为您的努力提供帮助 WPF http ww
  • 如何用ListBox制作自定义控件?

    我想用自定义的项目模板制作水平ListBox 所以我制作了它的基本模板 但是 我找不到将 事物 绑定到 WPF XAML 的示例 尤其是在 ListBox 填充了自定义项的情况下 我只是想动态添加 删除列表框中的项目 其中包含图像 标签 组
  • 如何在 WPF 中更改按钮 MouseOver 的背景?

    我的页面上有一个带有以下 XAML 的按钮
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb

随机推荐