Что я делал в прошлом в подобных случаях, так это "эмулировал" флажок, переключая изображения контекстного меню.
т.е. Я помню, был ли пункт меню отмечен / не отмечен (т. Е. Как логическое значение внутри Tag
пункта меню), а затем изменил изображение соответствующим образом либо на контрольное изображение, либо на изображение не было, в зависимости от состояния элемента меню.
Возможно, вы даже можете получить свой собственный класс из MenuItem
и прозрачно изменить проверку в нем для пользователя производного класса.
Для стрелки справа я предполагаю, что вы можете эмулировать ее, нарисовав стрелку с другим шрифтом (Wingdings, например?) Внутри области, где отображаются ярлыки.
Или, в качестве совершенно другого подхода, используйте функциональность рисования владельца MenuItem
.