求wpf代码,怎样在wpf的richtextbox控件中的指定位置插入table,后台代码实现。

就像word文档一样,鼠标定位在哪儿,表格就插入到哪儿,求帮助... 就像word文档一样,鼠标定位在哪儿,表格就插入到哪儿,求帮助 展开
 我来答
龍过鸡年
2013-10-30 · TA获得超过311个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:369万
展开全部
var trg = new TableRowGroup();

for (int r = 0; r < 5; r++)
{
    var tr = new TableRow();

    for (int c = 0; c < 5; c++)
    {
        var sf = string.Format("{0}x{1}", r, c);
        var run = new Run(sf);
        var par = new Paragraph(run);

        var td = new TableCell();
        td.Blocks.Add(par);

        tr.Cells.Add(td);
    }
    trg.Rows.Add(tr);
}

var t = new Table();

t.RowGroups.Add(trg);

rich.Selection.Text = "";
var pt = rich.Selection.Start.InsertParagraphBreak();
rich.Document.Blocks.InsertBefore(pt.Paragraph, t);
追问

谢谢,我用你的代码测试了一下是可以实现的,但是我发现了一个问题,当我插入一个表格后,将光标定位到表格中,再插入表格,就报错了(" Paragraph" NextSibling不属于此TextElementCollection),这个错误怎么解决呢?

追答

这个倒是没有考虑到,我研究下先


惭愧惭愧,我把 SiblingBlocks 当作当前 Paragraph 的 Block 子集了,应该是同级。

So,修改下代码就可以了

var tp = rich.CaretPosition.InsertParagraphBreak();
tp.Paragraph.SiblingBlocks.InsertBefore(tp.Paragraph, t);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式