不使用输入设备生成的事件,我想在代码后台以编程方式触发自定义事件,作为xaml中的EventTrigger。
这应该非常容易,但我无法找到任何示例。
从研究WPF4 Unleashed第6章、路由事件实现、EventTrigger.RoutedEvent属性、自定义路由事件作为EventTrigger和许多其他内容中,我得出了以下结论:
这应该非常容易,但我无法找到任何示例。
从研究WPF4 Unleashed第6章、路由事件实现、EventTrigger.RoutedEvent属性、自定义路由事件作为EventTrigger和许多其他内容中,我得出了以下结论:
MainWindow.xaml.cs:
namespace RoutedEventTrigger
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
RaiseEvent(new RoutedEventArgs(fooEvent, this));
}
public static readonly RoutedEvent fooEvent = EventManager.RegisterRoutedEvent(
"foo", RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(MainWindow));
// Provide CLR accessors for the event
public event RoutedEventHandler foo
{
add { AddHandler(fooEvent, value); }
remove { RemoveHandler(fooEvent, value); }
}
}
}
MainWindow.xaml:
顺便提一下,我对WPF还比较新手,请不要太苛刻。