当前位置:编程学习 > C#/ASP.NET >>

WPF,写自定义控件的样式,这样行不行啊?

创建了一个继承自Control的自定义控件,在Themes\Generic.xaml文件中,可以引用其它资源吗?
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WPF熊俊2">
    <Style TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Border x:Name="border" BorderBrush="Red" BorderThickness="2">
                        <ContentPresenter x:Name="contentPresenter" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <Style TargetType="{x:Type local:MyButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:MyButton}">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>
                        <TextBox />
                        <Button Grid.Row="1" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>



MyButton是自定义的控件,另外,还放了一个Button的样式(边框为红色),在MyButton的样式中有一个Button,但最后的效果是MyButton的边框并不是红色,可见它并没有引用上面那个Button样式。
但是如果给上面的Button使用Key属性,在下面再引用Key,结果就有效果了
请问,这是什么原因呢?反正我测试出来的结果就是这样的 --------------------编程问答-------------------- 哪有你这样写的,继承Button中放Button很特别 --------------------编程问答--------------------
引用 1 楼 DENQH 的回复:
哪有你这样写的,继承Button中放Button很特别

自定义控件并非继承者Button,只是名称取的MyButton
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,