Вы всегда можете переключать видимость MenuItem в XAML, используя привязки.Это позволяет создать одно контекстное меню, но полностью контролировать параметры, отображаемые для пользователя через XAML.Это то, что я делал в прошлом, так как это кажется самым простым вариантом.