我是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)));
}
});
我创建了自己的附属属性,但由于某种原因,我无法看到它。 我非常感谢您花时间研究这个问题。
感谢