RegisterName UserControl

时间:2013-11-16 00:12:43

标签: c# wpf animation canvas storyboard

我有一个带网格的WPF应用程序,在网格内部我有一个画布控件。 我还创建了一个用户控件,我将其添加到画布控件中。 我正在创建一个故事板来动画该用户控件,但是当我调用myStoryboard.Begin(myUserControl)时,我总是得到错误:myControl名称在“ScoreBoard.Controls.ucWindow”的名称范围内找不到(这是我的控件类)。

所以我正在寻找一些解决方案,我发现我需要创建一个NameScope 可以使用故事板,我需要注册我的控件名称。

我已经尝试了两件事,但我仍然遇到了这个错误。

我尝试为窗口和画布创建一个NameScope

NameScope.SetNameScope(this, new NameScope());
//NameScope.SetNameScope(myCanvas, new NameScope());

并尝试注册名称:

//myCanvas.RegisterName(myControl.Name, myUserControl);
this.RegisterName(myUserControl.Name, myUserControl);

myCanvas.Children.Add(myUserControl);

有人知道我错过了什么吗?

提前致谢,

阿尔贝托

1 个答案:

答案 0 :(得分:0)

我认为我找到了一个可能的解决方案,当我调用Storyboard.begin时,我使用的是Storyboard.SetTargetName,而不是Storyboard.SetTargetName我使用了Storyboard.SetTarget,现在我的代码正如我预期的那样工作。

此致

阿尔贝托