4
我们正在编写TextBox的自定义子类,我们只需要更改样式的一些基本部分。现在我们知道,当你继承Control
,通常你应该改变这样的元数据...如何基于默认控件的样式创建样式?
public class EnhancedTextBox : TextBox
{
static EnhancedTextBox()
{
// Commenting this line out lets this use the default TextBox style.
DefaultStyleKeyProperty.OverrideMetadata(
typeof(EnhancedTextBox),
new FrameworkPropertyMetadata(typeof(EnhancedTextBox)));
}
}
这改变了用于该子类类型为类型本身的关键,这意味着它不再变默认的TextBox样式。没有biggie ...我们只是评论这一行,它再次工作,因为键仍然设置为TextBox直接使用的值。
但是,我们想知道,如果我们没有想改变风格的几件事情,而不是整个的风格,我们可以简单地创建新的样式,并设置其属性BasedOn
...但做我们在那里设置?我们不希望手动拉出XAML并创建一个新样式,给它一个键,然后使用StaticResource,但是我们还没有找到我们可以在那里设置的内容来说'这是基于TextBox样式。
我希望它的东西很简单,但再次,我们还没有找到它。谁能帮忙?