【问题标题】:WPF Animation Warning: 6 : Unable to perform actionWPF 动画警告:6:无法执行操作
【发布时间】:2012-10-19 20:11:42
【问题描述】:

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

WPF 动画警告:6:无法执行操作,因为 指定的 Storyboard 从未应用于此对象以进行交互 control.Action='停止'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='65981734'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='System.Windows.Controls.ContentPresenter'; TargetElement.HashCode='49882372'; TargetElement.Type='System.Windows.Controls.ContentPresenter'

如何将 HashCode '反转'到某些 xaml 元素?如何找到该动画的附加位置?

提前致谢

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    您可以使用以下代码找到您的 StoryBoard:

    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 的 StoryBoard-Name(或者,如果您想获取指定的 StoryBoard,您也可以返回它)。请注意,ResourceDictionary 位于此处的窗口范围(本地)上。因此,如果 StoryBoard 都位于应用程序 (App.xaml) 的 ResourceDictionary 中,则将“资源”更改为:

    Application.Current.Resources
    

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

    【讨论】:

    • Storyboard 对象在每次运行时是否具有相同的哈希码?
    • @EugeneMaksimov 晚了五年但是是的,哈希码每次都是一样的。
    【解决方案2】:

    其实我也遇到了和你一样的问题。

    我发现动画的Begin() 方法在其Stop() 方法被调用之前没有被调用。因此,运行时会发出警告,提示无法调用 Stop 操作。

    【讨论】:

      【解决方案3】:

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

      <interactivity:EventTrigger EventName="SelectionChanged ">
      

      改为

      <interactivity:EventTrigger EventName="SelectionChanged">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-29
        相关资源
        最近更新 更多