C# 如何使用TargetName在故事板中使用资源
如下所示,我想将TargetName设置为movingImage,以便图像在屏幕上从左向右移动。Visual Studio引发错误,不确定如何正确引用该错误。我希望将图像保存在资源字典中,并根据需要以编程方式将其引入 我有以下资源:C# 如何使用TargetName在故事板中使用资源,c#,wpf,animation,storyboard,resourcedictionary,C#,Wpf,Animation,Storyboard,Resourcedictionary,如下所示,我想将TargetName设置为movingImage,以便图像在屏幕上从左向右移动。Visual Studio引发错误,不确定如何正确引用该错误。我希望将图像保存在资源字典中,并根据需要以编程方式将其引入 我有以下资源: <Canvas.Resources> <Storyboard x:Key="myStory"> <DoubleAnimation Storyboard.T
<Canvas.Resources>
<Storyboard x:Key="myStory">
<DoubleAnimation Storyboard.TargetName="movingImage"
Storyboard.TargetProperty="(Canvas.Left)"
Duration="0:0:5"
From="-157"
To="78"/>
</Storyboard>
<Image x:Key="movingImage"
Canvas.Left="-157"
Source="Resource\myImage.png"/>
</Canvas.Resources>
我得到的错误是:
PresentationFramework.dll中发生类型为“System.InvalidOperationException”的未处理异常 其他信息:在中找不到“movingImage”名称 命名“System.Windows.Controls.Canvas”的作用域 请执行以下更改:
movingImageKey
,将名称更改为movingImage
<Image x:Key="movingImageKey" x:Name="movingImage"
Canvas.Left="-157"
Source="Penguins.jpg"/>
您遇到了什么错误?PresentationFramework.dll中发生了类型为“System.InvalidOperationException”的未处理异常。其他信息:在“System.Windows.Controls.Canvas”的名称范围中找不到“movingImage”名称。谢谢。我做了建议的更改,它按预期工作。X:密钥在我的网格中不存在
<Image x:Key="movingImageKey" x:Name="movingImage"
Canvas.Left="-157"
Source="Penguins.jpg"/>
NameScope.SetNameScope(myCanvas, new NameScope());
Image img = (myCanvas.FindResource("movingImageKey") as Image);
myCanvas.RegisterName(img.Name, img);
myCanvas.Children.Add(img);
Storyboard sb = myCanvas.FindResource("myStory") as Storyboard;
sb.Begin();