Exemple #1
0
        private TreeViewItem CreateUIItem(XElement xItem)
        {
            string documentTypeName = xItem.Attribute(XrmUri.TypeAttributeName).Value;
            var docTypeDescriptor = documentTypeDescriptors.FirstOrDefault(d => d.DocumentTypeName == documentTypeName);

            XrmNodeHeader uiItemHeader = new XrmNodeHeader(xItem, docTypeDescriptor.GetIconSource());
            TreeViewItem uiItem = new TreeViewItem {
                Tag = uiItemHeader,
                Header = uiItemHeader
            };

            #region Create context menu
            uiItem.ContextMenu = new ContextMenu();
            uiItem.ContextMenu.Items.Add(CreateRenameMenuItem(xItem, uiItem));
            uiItem.ContextMenu.Items.Add(CreateRemoveMenuItem(xItem, uiItem));
            #endregion

            return uiItem;
        }
Exemple #2
0
        private TreeViewItem CreateUIGroup(XElement xGroup)
        {
            XrmNodeHeader uiGroupHeader = new XrmNodeHeader(xGroup, new BitmapImage(new Uri("pack://application:,,,/XRouter.GUI;component/Resources/Actions-view-list-icons-icon.png")));
            TreeViewItem uiGroup = new TreeViewItem {
                Tag = uiGroupHeader,
                Header = uiGroupHeader
            };

            #region Create context menu
            uiGroup.ContextMenu = new ContextMenu();
            uiGroup.ContextMenu.Items.Add(CreateAddMenuItem(xGroup, uiGroup));
            uiGroup.ContextMenu.Items.Add(CreateRenameMenuItem(xGroup, uiGroup));
            uiGroup.ContextMenu.Items.Add(CreateRemoveMenuItem(xGroup, uiGroup));
            #endregion

            foreach (XElement xChildGroup in xGroup.Elements(XrmUri.GroupElementName)) {
                TreeViewItem uiChildGroup = CreateUIGroup(xChildGroup);
                uiGroup.Items.Add(uiChildGroup);
            }
            foreach (XElement xChildItem in xGroup.Elements(XrmUri.ItemElementName)) {
                TreeViewItem uiChildItem = CreateUIItem(xChildItem);
                uiGroup.Items.Add(uiChildItem);
            }
            return uiGroup;
        }