RichTextBox下控件写入与取出

写入:

  private void Test()

     {

            InlineUIContainer container = new InlineUIContainer();
            container.Child = getDataGrid();
            richTextBox1.Selection.Insert(container);

            container = new InlineUIContainer();
            container.Child = getGrid();
            richTextBox1.Selection.Insert(container);

            container = new InlineUIContainer();
            container.Child = getCalendar();
            richTextBox1.Selection.Insert(container);

            ReturnFocus();

     }

        private DataGrid getDataGrid()
        {
            DataGrid dg = new DataGrid();
            dg.Columns.Add(new DataGridTextColumn() { Header = "序号" });
            dg.Columns.Add(new DataGridTextColumn() { Header = "代码" });
            dg.Columns.Add(new DataGridTextColumn() { Header = "名称" });
            dg.Columns.Add(new DataGridTextColumn() { Header = "涨幅" });
            dg.Columns.Add(new DataGridTextColumn() { Header = "现价" });
            //dg.AutoGenerateColumns = true;
            dg.Width = 500;
            dg.Height = 150;

            return dg;
        }

        private Grid getGrid()
        {
            Grid g = new Grid();
            //g.ShowGridLines = true;
            g.ColumnDefinitions.Add(new ColumnDefinition() { Width=new GridLength(300)});
            g.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(300) });
            g.RowDefinitions.Add(new RowDefinition() { Height=new GridLength(54) });
            g.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(54) });
            g.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(54) });

            for (int i = 0; i < g.RowDefinitions.Count;i++ )
            {
                for (int j = 0; j < g.ColumnDefinitions.Count; j++)
                {
                    TextBox tb = new TextBox();
                    tb.BorderThickness = new Thickness(1);
                    tb.BorderBrush = new SolidColorBrush(Colors.Black);
                    tb.Text = i.ToString() + "," + j.ToString();
                    Grid.SetRow(tb, i);
                    Grid.SetColumn(tb, j);
                    g.Children.Add(tb);
                }
            }

            return g;
        }

        private Calendar getCalendar()
        {
            Calendar cal = new Calendar();
            cal.Width = 179;
            cal.Height = 169;
            cal.FontFamily = new FontFamily("Portable User Interface");
            cal.Style = Application.Current.Resources["CalendarStyle1"] as Style;

            return cal;
        }

----------------------------------------------------------------------------------

        public void GetXaml()
        {
            if (this.richTextBox1.Blocks.Count == 0 || string.IsNullOrWhiteSpace(this.richTextBox1.Xaml))
            {
                return;
            }

            // 资源
            foreach (Block b in this.richTextBox1.Blocks)
            {
                Paragraph paragraph = b as Paragraph;

                if (paragraph != null)
                {
                    foreach (var item in paragraph.Inlines)
                    {
                        InlineUIContainer inlineUIContainer = item as InlineUIContainer;

                        if (inlineUIContainer != null && inlineUIContainer.Child != null)
                        {

                            var editorControl = inlineUIContainer.Child;
                        }
                    }
                }
            }

        }

posted on 2011-06-07 18:27  chuncn  阅读(577)  评论(0编辑  收藏  举报

导航