2011-05-18 91 views
1

完全不熟悉Silverlight中的自定义控件创建。在Windows Phone 7中为扩展的TextBox控件设计样式

我想要一个从TextBox控件继承的自定义控件。我找到了大量的教程,但他们都做了像水印文字或其他附加属性的东西。我的目标只是在使用KeyUp事件输入时操作文本,因此可见我的TextBox与标准TextBox没有区别。

我创建了一个类文件并从TextBox继承,但在运行时文本框不显示。从我可以收集的内容中,我需要一个themes/generic.xaml文件,但是我所看到的所有示例都包含了其他属性的样式,而在我的无知中,我不知道要更改和/或删除什么。

我希望有人能指出我一个普通的简洁文本框样式定义或这样的教程。

+0

下面的问题得到了回答,但是,如果有人正在寻找一个通用控件模板,可以在这里找到它们:http://msdn.microsoft.com/en-us/library/cc645061(v=VS。 95).aspx – 2011-05-18 15:35:06

回答

1

你所描述的应该工作,我只是尝试了以下和TextBoxEx呈现就好:

public class TextBoxEx : TextBox 
{ 
    protected override void OnKeyUp(KeyEventArgs e) 
    { 
    base.OnKeyUp(e); 
    } 
} 

你并不需要添加generic.xaml文件。该文件用于提供定义控件外观的模板。您指定设置以下属性,控件的默认外观:

DefaultStyleKey = typeof(MyControl); 

然而,正如上述TextBoxEx不设置此属性,它使用从文本框继承了价值,因此它继承了相同的模板(即,查找)。

+0

哇。这就是我原来所做的(或者我认为),但我必须在一路上的某处交叉电线。我删除了generic.xaml和DefaultStyleKey,现在它工作。 – 2011-05-18 15:33:44

+0

酷 - 很高兴它工作:-) – ColinE 2011-05-18 15:34:40