C# 如何知道流程文档中要编辑的表?

C# 如何知道流程文档中要编辑的表?,c#,wpf,richtextbox,flowdocument,C#,Wpf,Richtextbox,Flowdocument,我是richtext box和flow文档的新手, 我试图使程序类似于word(用户可以编写和添加多个表) 这是我的xaml代码 <DockPanel Grid.Column="1"> <ToolBar x:Name="ToolBarUntenRight" DockPanel.Dock="Top">

我是richtext box和flow文档的新手, 我试图使程序类似于word(用户可以编写和添加多个表)

这是我的xaml代码

                           <DockPanel Grid.Column="1">
                                <ToolBar x:Name="ToolBarUntenRight" DockPanel.Dock="Top">
                                    <ToggleButton x:Name="ToolStripButtonBold" Command="EditingCommands.ToggleBold" ToolTip="Bold">
                                        <Image Source="Images/Bold.png" Stretch="None"/>
                                    </ToggleButton>
                                    <ToggleButton x:Name="ToolStripButtonItalic" Command="EditingCommands.ToggleItalic" ToolTip="Italic">
                                        <Image Source="Images/Italic.png" Stretch="None"/>
                                    </ToggleButton>
                                    <ToggleButton x:Name="ToolStripButtonUnderline" Command="EditingCommands.ToggleUnderline" ToolTip="Underline">
                                        <Image Source="Images/Underline.png" Stretch="None"/>
                                    </ToggleButton>
                                    <Separator/>
                                    <Button Content="Table" Click="addTable_Click"></Button>
                                    <Button Content="Row +" Click="addrow_Click"></Button>
                                    <Button Content="Row -" Click="removerow_Click"></Button>
                                    <Button Content="Col +" Click="addcolumn_Click"></Button>
                                    <Button Content="Col -" Click="removecolumn_Click"></Button>
                                </ToolBar>
                                <RichTextBox x:Name="RichTextControlRight" SpellCheck.IsEnabled="True" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" AcceptsTab="True" SelectionChanged="RichTextControl_SelectionChanged" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
                            </DockPanel>

还有我的代码

private void addTable_Click(object sender, RoutedEventArgs e)
    {
        //Add blank line
        flowDoc.Blocks.Add(new Paragraph(new Run(" ")));

        Table table1 = new Table();

        table1.CellSpacing = 0;
        table1.Background = Brushes.White;

        int numberOfColumns = 3;
        int numberOfRows = 3;

        for (int i = 0; i < numberOfColumns; i++)
        {
            table1.Columns.Add(new TableColumn());
        }

        table1.RowGroups.Add(new TableRowGroup());

        for (int i = 0; i < numberOfColumns; i++)
        {
            table1.RowGroups[0].Rows.Add(new TableRow());

            for (int j = 0; j < numberOfRows; j++)
            {
                table1.RowGroups[0].Rows[i].Cells.Add(new TableCell(new Paragraph(new Run(i + " " + j))));
            }
        }

        foreach (var item in table1.RowGroups[0].Rows)
        {
            foreach (var item2 in item.Cells)
            {
                item2.BorderBrush = Brushes.Black;
                item2.BorderThickness = new Thickness(1, 1, 1, 1);
            }
        }

        flowDoc.Blocks.Add(table1);

        //Add blank line
        flowDoc.Blocks.Add(new Paragraph(new Run(" ")));
    }
private void addTable\u单击(对象发送方,路由目标)
{
//添加空行
flowDoc.Blocks.Add(新段落(新运行(“”));
表1=新表();
表1.1细胞间距=0;
表1.背景=画笔。白色;
int numberOfColumns=3;
int numberOfRows=3;
for(int i=0;i
目前,我正在努力制作“添加行”、“删除行”、“添加列”和“删除列”功能

我希望用户能够选择要编辑的表,然后单击“添加行”按钮

但我不知道如何检测到这一点


有办法吗?

我试过使用table1.MouseMove+=新的MouseEventHandler(doSomething);如果鼠标没有经过其他表,那么会有select或hightlight表事件吗?尝试mouseup事件,不触发