private TreeNodeViewModel CreateQueueNode(TreeNodeViewModel parentNode, QueueInfo queue) { TreeNodeViewModel node = new TreeNodeViewModel() { Parent = parentNode, IsExpanded = false, NodeIcon = queue.Status ? QUEUE_ICON : ALERT_QUEUE_ICON, NodeText = queue.Name, NodeToolTip = queue.ToString(), NodePayload = queue }; node.ContextMenuItems.Add(new MenuItemViewModel() { MenuItemHeader = "Edit queue settings", MenuItemIcon = EDIT_QUEUE_ICON, MenuItemCommand = new RelayCommand(EditQueueCommand), MenuItemPayload = node }); node.ContextMenuItems.Add(new MenuItemViewModel() { IsSeparator = true }); node.ContextMenuItems.Add(new MenuItemViewModel() { MenuItemHeader = "Send test message to queue", MenuItemIcon = SEND_MESSAGE_ICON, MenuItemCommand = new RelayCommand(SendTestMessageCommand), MenuItemPayload = node }); node.ContextMenuItems.Add(new MenuItemViewModel() { MenuItemHeader = "Receive test message from queue", MenuItemIcon = RECEIVE_MESSAGE_ICON, MenuItemCommand = new RelayCommand(ReceiveTestMessageCommand), MenuItemPayload = node }); node.ContextMenuItems.Add(new MenuItemViewModel() { IsSeparator = true }); node.ContextMenuItems.Add(new MenuItemViewModel() { MenuItemHeader = "Drop queue", MenuItemIcon = DROP_QUEUE_ICON, MenuItemCommand = new RelayCommand(DropQueueCommand), MenuItemPayload = node }); return(node); }