コード例 #1
0
        public RichTextItem AddItem(string caption, string value, int imageIndex)
        {
            foreach (RichTextItem rti in _items)
            {
                rti.Dock = DockStyle.Top;
            }

            RichTextItem newItem = CreateItem();

            if (_items.Count <= 0)
            {
                newItem.DisableSpliter = true;
            }

            newItem.HeadCaption = caption;
            newItem.Text        = value;
            newItem.ImageIndex  = imageIndex;

            _items.Add(newItem);



            Relayout();

            newItem.Visible = true;

            _items[_items.Count - 1].Dock = DockStyle.Fill;

            return(newItem);
        }
コード例 #2
0
        private static RichTextItem AnalyzeTag(CommonXmlNode node)
        {
            if (node.TagName == "font")
            {
                var colorCode = node.GetAttribute("color").Value;
                var c         = ColorTranslator.FromHtml(colorCode);
                var color     = System.Windows.Media.Color.FromRgb(c.R, c.G, c.B);

                var item = new RichTextItem
                {
                    Text       = node.InnerText,
                    Foreground = color
                };

                return(item);
            }

            return(null);
        }
コード例 #3
0
        public RichTextItem CreateItem(bool visible = false)
        {
            RichTextItem newItem = new RichTextItem(this, visible);

            newItem.ImageList  = _imageList;
            newItem.ImageAlign = _headImageAlign;
            //newItem.HeadCaption = caption;
            //newItem.ImageIndex = imageIndex;
            newItem.HeadWidth        = _headWidth;
            newItem.SelColor         = _selColor;
            newItem.BackColor        = _backColor;
            newItem.HeaderBgColor    = _headerBgColor;
            newItem.HeaderForceColor = _headForceColor;
            newItem.Items            = _items;

            newItem.OnHeadClick   += OnHeadClick;
            newItem.OnTextChanged += OnEditorChanged;

            return(newItem);
        }
コード例 #4
0
        private static void AddRichTextItem(IEnumerable <CommonXmlNode> nodes, List <RichTextItem> items)
        {
            foreach (var node in nodes)
            {
                if (node.NodeType == XmlNodeType.Text)
                {
                    var array = node.InnerText.UnifiedBreakLine().Split('\n');
                    foreach (var text in array)
                    {
                        var paragraph = new RichTextItem
                        {
                            TextType = RichTextType.Paragraph
                        };
                        paragraph.AddChildren(new RichTextItem
                        {
                            Text = text,
                        });
                        items.Add(paragraph);
                    }
                }
                else
                {
                    if (node.TagName == "font")
                    {
                        var paragraph = new RichTextItem
                        {
                            TextType = RichTextType.Paragraph,
                            Children = new []
                            {
                                AnalyzeTag(node)
                            }
                        };
                        items.Add(paragraph);
                    }
                    else if (node.TagName == "a")
                    {
                        var link      = node.GetAttribute("href").Value;
                        var paragraph = new RichTextItem
                        {
                            TextType = RichTextType.Paragraph
                        };
                        var item = new RichTextItem
                        {
                            TextType = RichTextType.Hyperlink,
                            Link     = link
                        };

                        foreach (var child in node.ChildNodes)
                        {
                            item.AddChildren(AnalyzeTag(child));
                        }

                        paragraph.AddChildren(item);
                        items.Add(paragraph);
                    }
                    else
                    {
                        var paragraph = new RichTextItem
                        {
                            TextType = RichTextType.Paragraph
                        };
                        items.Add(paragraph);
                    }
                }
            }
        }