我试图在 Windows 8 XAML 中创建自定义文本框控件。
我已经右键单击我的项目 -> 添加 -> 新项目
然后我选择了模板化控件并输入了名称 MyTextBox
然后我让这个类派生自 TextBox 并添加了一个名为 Hello 的测试方法。所以它现在看起来像这样:
public sealed class MyTextBox : TextBox
{
public MyTextBox()
{
this.DefaultStyleKey = typeof(MyTextBox);
}
public void Hello()
{
//Do something here!
}
}
在我的项目中,还添加了一个名为 Generic.xaml 的文件,其样式如下:
<Style TargetType="local:MyTextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:MyTextBox">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
所以在这里我尝试使用 Style 标签添加 BasedOn="TextBox" :
<Style TargetType="local:WatermarkTextBox" BasedOn="TextBox">
这行不通。
我需要做什么来创建这个自定义文本框,然后我如何在我的 XAML 中使用它
这适用于 Windows RT,因此 XAML 可能与 WPF 不同。