首页 > 解决方案 > 尝试在 XAML 故事板动画中使用用户控件的自定义属性会引发无法解析 TargetProperty 错误

问题描述

我正在尝试将我的用户控件包含MyControl在情节提要动画中,并MyProperty为该控件的自定义属性设置动画。故事板包含在另一个用户控件中。

但是,使用下面的代码,Visual Studio Blend 2017 在情节提要的设计视图中引发以下错误:

例外:未检测到已安装的组件。无法解析指定对象上的 TargetProperty MyProperty。

问题似乎出在自定义属性上,因为用类似的东西替换它Width可以正常工作。此外,包括EnableDependentAnimation="True"并不能解决问题。

XAML:

<UserControl.Resources>
    <Storyboard x:Name="MyStoryboard">

        <DoubleAnimationUsingKeyFrames
            EnableDependentAnimation="True"
            Storyboard.TargetName="myControl"
            Storyboard.TargetProperty="MyProperty"
        >
            <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
            <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="100"/>
        </DoubleAnimationUsingKeyFrames>

    </Storyboard>
</UserControl.Resources>

<Grid>
    <local:MyControl x:Name="myControl" Width="22" Height="22" MyProperty="0" />
</Grid>

我正在尝试为 UWP(Windows 10)用户控件的属性设置动画,键入 double:

public sealed partial class My Control : UserControl

public double MyProperty
{
    get
    {
        return myProperty;
    }
    set
    {
        myProperty = value;
        Redraw();
    }
}

标签: c#xamluser-controlsstoryboard

解决方案


推荐阅读