在Wpf事件触发器

时间:2016-12-21 04:00:59

标签: c# wpf

我是wpf的初学者并尝试了解下面Url中的解决方案,因为我必须在事件触发器中创建一个条件。

How to give the condition for EventTrigger?

任何人都可以解释 my:ConditionalEventTrigger.Triggers 这一行。 我试图了解触发器的来源。它来自附加属性,如果是这种情况我尝试创建自己的附加属性但是无法看到它们。

public static ConditionalEventTriggerCollection GetTriggers(DependencyObject obj) { return (ConditionalEventTriggerCollection)obj.GetValue(OwnProperty); }
    public static void SetTriggers2(DependencyObject obj, ConditionalEventTriggerCollection2 value) { obj.SetValue(OwnProperty, value); }
    public static readonly DependencyProperty OwnProperty = DependencyProperty.RegisterAttached("Own", typeof(ConditionalEventTriggerCollection2), typeof(TestingCustomTriggers), new PropertyMetadata
    {
        PropertyChangedCallback = (obj, e) =>
        {
            // When "Triggers" is set, register handlers for each trigger in the list 
            var element = (FrameworkElement)obj;
            var triggers = (List<TestingCustomTriggers>)e.NewValue;
            foreach (var trigger in triggers)
                element.AddHandler(trigger.RoutdEvent, new RoutedEventHandler((obj2, e2) =>
                  trigger.OnRoutedEvent(element)));
        }
    });

我创建了自己的附属属性,但由于某种原因,我无法看到它。  我非常感谢您花时间研究这个问题。

感谢

0 个答案:

没有答案