C# 如何基于其他控件创建自定义控件
我想制作一个基于TextBox的自定义控件,但当我设置它的样式时,它还没有进入应用程序模板 我编写了一个自定义控件C# 如何基于其他控件创建自定义控件,c#,xaml,uwp,win-universal-app,C#,Xaml,Uwp,Win Universal App,我想制作一个基于TextBox的自定义控件,但当我设置它的样式时,它还没有进入应用程序模板 我编写了一个自定义控件Foo public class Foobar : TextBox { public Foobar() { DefaultStyleKey = typeof(Foobar); } protected override void OnApplyTemplate() { //breakpoint have not enter
Foo
public class Foobar : TextBox
{
public Foobar()
{
DefaultStyleKey = typeof(Foobar);
}
protected override void OnApplyTemplate()
{ //breakpoint have not enter
base.OnApplyTemplate();
}
}
我用Generic.xaml编写样式
<Style x:Key="Foobar" TargetType="TextBox"></Style>
<Style TargetType="view:Foobar">
</Style>
但这两种代码都不起作用
我将其写入mainPage.xaml,但它没有显示
我试着在参考资料中写它
<Application.Resources>
<ResourceDictionary>
<viewModel:ViewModel x:Key="ViewModel"></viewModel:ViewModel>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/Generic.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
但它不起作用。我不想复制RichEditBox中的模板。你提到RichEditBox,但你的模板和样式目标文本框。。。那么是哪一个呢?@PedroLamas我想说的是RichEditBox。您是否尝试将您期望的模板添加到您的通用样式中(即……此处的控件模板……此外,您不应该引用通用样式)。xaml@JamesCroft我试着设置,但没有设置,但都没有。
<Application.Resources>
<ResourceDictionary>
<viewModel:ViewModel x:Key="ViewModel"></viewModel:ViewModel>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/Generic.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>