在 'System.Windows.Style' 的名称范围内找不到名称



因为我只能在运行时知道KeyTime,并且不能在那里绑定,所以我在代码中构建了故事板。它可以正常工作。

bu我对StopStoryboard有问题。每当出口触发器发生时,我都会得到:

名称在" system.windows.style"的名称范围中找不到。

这是我正在使用的代码:

private static void InjectStorybord(Hourglass originator)
{
    Storyboard sb = GetStoryboard(originator);
    originator.Resources["MainStory"] = sb;
    Binding runningBinding = GetBinding(originator);
    DataTrigger trigger = new DataTrigger() { Binding = runningBinding, Value = true };
    BeginStoryboard begineStory = new BeginStoryboard() { Storyboard = sb, Name = BEGIN_MAIN_NAME };
    begineStory.SetValue(FrameworkElement.NameProperty, BEGIN_MAIN_NAME);//Trying this to achive x:Name not helping eithre
    trigger.EnterActions.Add(begineStory);
    trigger.ExitActions.Add(new StopStoryboard() { BeginStoryboardName = begineStory.Name });

    Style beginStoryStyle = new Style(typeof(Grid));
    beginStoryStyle.Triggers.Add(trigger);

    originator.layoutRoot.Style = beginStoryStyle;
 }

尝试使用RegisterName方法

在样式上注册名称
Style beginStoryStyle = new Style(typeof(Grid));
beginStoryStyle.RegisterName(BEGIN_MAIN_NAME, begineStory);
beginStoryStyle.Triggers.Add(trigger);

最新更新