在Windows Phone 7中设置扩展TextBox控件的样式

时间:2011-05-18 15:12:30

标签: windows-phone-7 textbox custom-controls

Silverlight中自定义控件创建的全新内容。

我想要一个继承自TextBox控件的自定义控件。我发现了很多教程,但他们都做了一些像水印文本或其他附加属性的东西。我的目标只是在使用KeyUp事件时在输入时操作文本,因此我的TextBox在视觉上与标准TextBox没有区别。

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

我希望有人能指出一个普通的简单TextBox风格定义或者这样的教程。

1 个答案:

答案 0 :(得分:1)

您所描述的内容应该可以使用,我只是尝试了以下内容并且TextBoxEx渲染得很好:

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

您无需添加generic.xaml文件。此文件用于提供定义控件外观的模板。您可以通过设置以下属性来指定控件的默认外观:

DefaultStyleKey = typeof(MyControl);

但是,由于上面的TextBoxEx没有设置此属性,它使用从TextBox继承的值,因此它继承了相同的模板(即外观)。