繁体   English   中英

无法将内容添加到自定义控件

[英]Cannot add content to a Custom Control

我正在尝试创建UserControl的自定义版本,以在加载时为视图实现一些标准动画。

但是,当我添加ContentPresenter时,无法将内容添加到控件中。 为什么呢

这是我用于自定义控件的模板。

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:EzNintendo.Desktop.Controls">

    <Style TargetType="{x:Type local:AnimatedView}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:AnimatedView}">
                    <ContentPresenter />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</ResourceDictionary>

和自定义控件的默认代码

public class AnimatedView : Control
{
    static AnimatedView()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(AnimatedView), 
                                                 new FrameworkPropertyMetadata(typeof(AnimatedView)));
    }
}

这就是我尝试使用它的方式。

<controls:AnimatedView x:Class="MyView"
                       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                       xmlns:controls="clr-namespace:MControls;assembly=MControls">
    <Grid>
        <TextBlock Text="Hello World!" />
    </Grid>
</controls:AnimatedView>

当我删除Grid它可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM