Я пытаюсь создать ресурс стиля для контекстного меню, которое я динамически присваиваю расширителям. Я хочу установить прослушиватель событий щелчка для пунктов меню в контекстном меню в стиле, но я получаю ошибки, из которых я не могу найти решение.WPF Style EventSetter error error
Ошибка:
- событие 'Click' не может быть указана на целевой тег в стиле. Вместо этого используйте EventSetter.
Недопустимое значение свойства 'Handler': 'Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XmlValue'
<Style x:Key="LincrosContextMenu" TargetType="{x:Type ContextMenu}" BasedOn="{StaticResource MetroContextMenu}"> <Style.Resources> <Style TargetType="{x:Type MenuItem}"> <Setter Property="FontSize" Value="12" /> <Setter Property="Padding" Value="0, 3, 0, 3" /> <EventSetter Event="Click" Handler="ContextMenu_MenuItem_Click"/> </Style> <Style TargetType="{x:Type Separator}"> <Setter Property="Margin" Value="6, 0, 0, 0" /> </Style> </Style.Resources> </Style> <ContextMenu x:Key="ProjectFolderContext" Style="{StaticResource ResourceKey=LincrosContextMenu}"> <MenuItem Header="Add"/> <Separator/> <MenuItem Header="Cut" /> <MenuItem Header="Copy" /> <MenuItem Header="Paste" /> <MenuItem Header="Rename" /> <Separator/> <MenuItem Header="Open Folder in File Browser" /> <Separator/> <MenuItem Header="Properties" /> </ContextMenu>
Я попробовал это решение, но, к сожалению, это не повлияло на меня.
Ссылка: WPF ListView SelectionChanged inside style does not work. EventSetter either
Кажется, ошибка исчезла после того, как я построил проект. Я предполагаю, что решение, на которое я ссылался, не работает, потому что я не пытался построить проект. Думаю, я не должен полностью доверять редактору визуальных студий. Спасибо за вашу помощь! :) –