У меня есть пользовательский холст, полученный из Canvas
. Он содержит несколько ApplicationCommands
, таких как New
/ Open
/ Save
и т. Д., Добавленных вот так -
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.New, New_Executed,
New_Enabled));
New_Enabled
всегда возвращает true.
Этот элемент управления используется в проекте wpf, имеющем строку меню; Кнопки меню «Создать / Открыть / Сохранить» присутствуют в этой строке меню, и их Command
установлены на соответствующие ApplicationCommand
, как это -
<syncfusion:SimpleMenuButton
x:Name="NewMenu"
Icon="Images\New_Large.png"
Label="New"
IsEnabled="True"
Command="{x:Static ApplicationCommands.New}"
syncfusion:Ribbon.KeyTip="N">
</syncfusion:SimpleMenuButton>
Команда работает правильно, когда фокус присутствует на Canvas
, но как только фокус переходит на другой элемент управления, кнопка «Новый» отключается. Я попытался установить CommandTarget
в главном окне, но это тоже не работает.
Почему это происходит и как убедиться, что кнопка «Новое меню» будет всегда включена?