Команда MenuItem не выполняется, если она определена через стиль внутри ContextMenuC#

Место общения программистов C#
Ответить
Anonymous
 Команда MenuItem не выполняется, если она определена через стиль внутри ContextMenu

Сообщение Anonymous »

Я пытаюсь создать дерево файлов с помощью TreeView, к которому я могу привязать коллекцию. Для привязки к TreeView вам необходимо использовать HierarchicalDataTemplate. При этом в качестве основы автоматически используется TreeViewItem по умолчанию. Но у меня нет прямого доступа к этому TreeViewItem, к которому можно было бы что-то добавлять. Вот почему я получаю доступ к свойствам этого TreeViewItem, используя стиль и параметры настройки.
Теперь, когда я добавляю ContextMenu через этот стиль, все команды и события, назначенные MenuItems, выигрывают. Увольняю. ContextMenu по-прежнему отображается нормально, когда я щелкаю правой кнопкой мыши по элементу MenuItem.























public class FileTreeModel
{
public string? FileName { get; set; }
public string? Path { get; set; }
public IList Children { get; set; } = [];
}

public ObservableCollection FileTree { get; }
public ICommand NewFile { get; }

public ExplorerViewModel(INewFileService newFileService)
{
FileTree = [];
NewFile = new RelayCommand(() =>
{
Console.WriteLine("New file"); // Never gets ran
newFileService.NewFile();
});
}



Подробнее здесь: https://stackoverflow.com/questions/789 ... ontextmenu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»