用户控件动画无法解析目标名称

本文关键字:目标 控件 动画 用户 | 更新日期: 2024-10-30 10:12:03

我正在尝试在 UWP 用户控件中创建一个简单的动画,但遇到错误无法解析目标名称。代码非常简单,我觉得我忽略了一些明显的东西,但我无法弄清楚。

XAML

<UserControl
    ...
    x:Name="ManipulationMediaViewerControl"
    ...
    >
    <UserControl.Resources>
        <Storyboard x:Name="ZoomAnimation">
            <DoubleAnimation Duration="0:0:0.25" To="4" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="ViewboxHost" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.25" To="4" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="ViewboxHost" d:IsOptimized="True"/>
        </Storyboard>
    </UserControl.Resources>
    <Grid>
        <Viewbox x:Name="ViewboxHost"
                 ManipulationMode="All"
                 Width="{Binding ElementName=ManipulationMediaViewerControl, Path=ActualWidth}"
                 Height="{Binding ElementName=ManipulationMediaViewerControl, Path=ActualHeight}">
            <Viewbox.RenderTransform>
                <CompositeTransform CenterX="0.5" CenterY="0.5" />
            </Viewbox.RenderTransform>
            <ContentPresenter />
        </Viewbox>
    </Grid>
</UserControl>

法典

using Windows.UI.Xaml.Controls;
namespace ManipulationMediaViewer
{
    public sealed partial class ManipulationMediaViewer : UserControl
    {
        public ManipulationMediaViewer()
        {
            this.InitializeComponent();
        }
        public void ZoomToFactor()
        {
            ZoomAnimation.Begin(); // Breaks here
        }
    }
}

所以我的问题是当我尝试启动ZoomAninmation.Begin();时,我得到异常:

WinRT 信息:无法解析 TargetName ViewboxHost。附加 信息:未检测到已安装的组件。

我在不同的项目中有非常相似的情况,似乎工作正常(它在用户控件之外)。当这不起作用时,我删除了代码并通过 Blend UI 创建了故事板,但它产生了相同的代码。任何帮助不胜感激!

谢谢!

用户控件动画无法解析目标名称

>我在Visual Studio 2017中遇到了同样的问题。我最终在其自己的 uwp dll 中编译了用户控件,并将其作为参考添加到我的新项目中。这个问题在拖欠之后就消失了。