Вместо того, чтобы использовать событие, созданное устройством ввода, я хочу использовать настраиваемое событие, которое будет программно программироваться в коде в качестве EventTrigger в моем XAML.
Это должно быть смешно, но я нигде не могу найти пример.RoutedEvent «член не распознан или недоступен»
Вот что я придумал от изучения WPF4 Unleashed Глава 6, Routed Event Implementation, EventTrigger.RoutedEvent Property, Custom RoutedEvent as 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:
P.S. Пожалуйста, будьте осторожны, я относительно новичок в WPF.
Я не думал попробовать, но это сработало! Невероятно. И здесь я подумал, что изменения, внесенные в xaml, были видны сразу. Я полагал, что, должно быть, делал что-то действительно не так, потому что окно предварительного просмотра не отображалось, ссылаясь на «недопустимую разметку», и просто создание проекта не помогло этому. Мне нужно было (Clean Solution) -> (Rebuild) очистить ошибку. Благодаря! –
Reboot, Clean, Rebuild ничего не работает для меня! Он строит и работает отлично, но дизайнер терпит неудачу. Argh. – Ciantic