C# WPF动画警告:6:无法执行操作

C# WPF动画警告:6:无法执行操作,c#,wpf,xaml,C#,Wpf,Xaml,我在VIsual Studio输出面板中的WPF应用程序警告中观察到以下文本: WPF动画警告:6:无法执行操作,因为 指定的情节提要从未应用于此对象以进行交互 控制。动作=‘停止’; Storyboard='System.Windows.Media.Animation.Storyboard'; 故事板。HashCode='65981734';Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='S

我在VIsual Studio输出面板中的WPF应用程序警告中观察到以下文本:

WPF动画警告:6:无法执行操作,因为 指定的情节提要从未应用于此对象以进行交互 控制。动作=‘停止’; Storyboard='System.Windows.Media.Animation.Storyboard'; 故事板。HashCode='65981734';Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='System.Windows.Controls.ContentPresenter'; HashCode='49882372'; TargetElement.Type='System.Windows.Controls.ContentPresenter'

如何将哈希代码“反向”到某个xaml元素?如何找到动画的附着位置


提前感谢

您可以使用以下代码查找情节提要:

private string GetStoryBoardNameByHashCode(int hashCode)
{
    foreach (DictionaryEntry resource in Resources)
    {
        if (resource.Value is Storyboard)
        {
            if (resource.GetHashCode() == hashCode)
                return ((Storyboard) resource.Value).Name;
        }
    }
    return String.Empty;
}
执行如下方法:

    string storyBoardName = GetStoryBoardNameByHashCode(65981734);
这应该能够使用HashCode获取情节提要名称(如果您想要获取指定的情节提要,也可以返回该名称)。请注意,ResourceDictionary位于此处的窗口范围(本地)。因此,如果故事板都位于应用程序的ResourceDictionary(App.xaml)中,则将“Resources”更改为:

Application.Current.Resources
可能有另一种方法可以获取WPF应用程序的所有资源,而不仅仅是本地或应用程序范围,但尚未对此进行研究。希望这段代码能让你找到你的问题



这是代码,以防万一你需要它

事实上,我遇到了和你一样的问题


我发现动画的
Begin()
方法在调用
Stop()
方法之前没有被调用。因此运行时抛出一个警告,表示无法调用停止操作。

我的问题是我的EventName中有一个尾随空格

<interactivity:EventTrigger EventName="SelectionChanged ">

改为

<interactivity:EventTrigger EventName="SelectionChanged">


Storyboard对象在每次运行时是否具有相同的哈希代码?@EugeneMaksimov晚了五年,但是的,哈希代码每次都是相同的。