У меня есть этот XAMLBinding/Реферирование Метод XAML WPF
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:l="clr-namespace:My.Windows"
>
<ObjectDataProvider x:Key="TitledWindow_Test" MethodName="Test" ObjectInstance={x:Type l:TitledWindow}">
<ControlTemplate x:Key="TitledWindowControlTemplateKey" x:Name="PART_ControlTemplate" TargetType="{x:Type l:TitledWindow}"
<Rectangle>
<Rectangle.Style>
<EventSetter Event="Mouse.MouseEnter" Handler="{StaticResource TitledWindow_Test}">
</Rectangle.Style>
</Rectangle>
</ControlTemplate>
</ResourceDictionary>
, и мой C# код:
namespace My.Windows
{
public partial class TitledWindow : Window
{
public void Test()
{
MessageBox.Show("Test");
}
}
}
Проблема заключается в том, что я получаю следующее сообщение об ошибке:
Ошибка 1
Корневой элемент ResourceDictionary требует топора: атрибут класса для поддержки событий обработчиков в файле XAML. Удалите обработчик событий для события MouseEnter, или добавьте атрибут x: Class к корневому элементу.
То, что вы пытаетесь сделать ?? –
Я хочу добавить много обработчиков к уникальному событию через XAML – jovanMeshkov
@Jovan - Разве вы не можете использовать метод в коде для словаря ресурсов? Я не думаю, что вы можете привязать ObjectDataProvider к этому RouteEvent, и это тоже, где делегат имеет другую подпись. –