扩展文本框控件并更改部分默认样式

本文关键字:改部 默认 样式 文本 控件 扩展 | 更新日期: 2023-09-27 18:15:26

我想创建一个具有扩展功能的WPF文本框类库(dll文件)。但我想改变一部分的文本框的默认样式(IsMouseOver属性触发器)。

我创建了一个新的WPF用户控制库项目,删除了其中生成的。xaml和。cs文件,并添加了一个新的类文件。然后我从TextBox类派生,但我不知道如何访问样式XAML。

我想不出这应该怎么做。

在我的项目中,我目前只有这个。cs文件,没有。xaml文件:

namespace CustomControls
{
    public class CustomTextBox : TextBox
    {
        private string customProperty;
        public string CustomProperty
        {
            get { return customProperty; }
            set { customProperty = value; }
        }
    }
}

扩展文本框控件并更改部分默认样式

你可以这样做

<TextBox x:Class="CustomControls.MyFolder.CustomTextBox"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</TextBox>

背后的代码
public partial class CustomTextBox : TextBox
{
    public CustomTextBox()
    {
        InitializeComponent();
    }
}

现在你可以在你的xaml中做任何你想做的事情(编辑模板,应用样式等),你可以从后面的代码访问它