如何基于其他控件自定义控件

时间:2017-03-25 11:15:13

标签: c# xaml uwp win-universal-app

我想创建一个基于TextBox的自定义控件,但是当我设置它的样式并且它没有输入OnApplyTemplate时。

我写了一个自定义控件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>

对于UWP没有x:Type,我应该为静态资源编写基础

<Style x:Key="Foobar" TargetType="TextBox"></Style>
<Style TargetType="view:Foobar" BasedOn="{StaticResource 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>

但它不起作用。

0 个答案:

没有答案