x: Static является расширением разметки.
https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/markup-extensions-and-wpf-xaml
Я думаю, что не имеет значения, что возвращает x: Static. Парсер проверяет наличие любого расширения разметки и выдает эту ошибку.
Кто бы ни разрабатывал парсер, он решил, что было бы неплохо, если бы уникальный идентификатор для объекта пользовательского интерфейса был прямо в xaml в виде строки.
Я не понимаю, почему вы хотите абстрагировать Имя таким образом.
Если имя указано в xaml, вы можете увидеть его, читая xaml. Если ваш подход сработал, вам нужно было бы найти значение в каком-то другом классе.
Кажется, что все, что достигается в результате абстрагирования, затрудняет чтение xaml. Я вижу это как негатив, сам.
Думаю, стоит также объяснить лучшую практику.
Значение MVVM для подавляющего большинства команд разработчиков wpf.
Гораздо более обычным способом работы было бы связать коллекцию моделей представления с источником элементов меню. Они выставляют icommand и описание, связанное с командой и заголовком пункта меню. Не нужно знать имя любого элемента меню, по которому щелкнули, потому что он вызывает связанную команду icommand.