4

我想创建一个具有扩展功能的 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; }
        }
    }
}
4

1 回答 1

9

你可以做这样的事情

<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 中做任何您想做的事情(编辑模板、应用样式等),并且您可以从后面的代码中访问它。

于 2016-10-27T15:16:38.023 回答