扩展TextBox控件并更改默认样式的一部分

时间:2016-10-27 14:28:29

标签: c# wpf custom-controls extending-classes

我想创建一个具有扩展功能的WPF TextBox的类库(dll文件)。但我想改变TextBox默认样式的一部分(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; }
        }
    }
}

1 个答案:

答案 0 :(得分:5)

你可以做这样的事情

public partial class CustomTextBox : TextBox
{
    public CustomTextBox()
    {
        InitializeComponent();
    }
}

背后的代码

{{1}}

现在,您可以在xaml中执行任何操作(编辑模板,应用样式等),并且您可以从后面的代码中访问它。