WPF Table Column Sizes

前端 未结 3 767
遥遥无期
遥遥无期 2020-12-29 06:37

I\'m rendering a Table in a WPF FlowDocument using code-behind. But, I\'ve been unable to find an example that shows how to make the table use only the space needed based on

3条回答
  •  滥情空心
    2020-12-29 07:33

    I know the question was asked 9 years ago, but I found out an alternate way to do this without using a BlockUIContainer which quite frankly is a pain when serializing the FlowDocument or when the user is just editing the document in a RichTextBox.

    Add a PreviewMouseMove and PreviewMouseDown handler to every single table cells. In PreviewMouseMove change the cursor to SizeWE whenever adjacent to the cell border. In PreviewMouseDown capture the mouse using the RichTextBox as the source.

    Add a PreviewMouseMove and PreviewMouseUp handler to the RichTextBox. In PreviewMouseMove resize the table column based on the calculated horizontal delta movement. In PreviewMouseUp release the mouse.

    The tricky part is to figure where the cell borders are because there's no way out of the box to just get the cell position or width. So you have to approximate where they are by doing the sum of the PagePadding, Table Padding and column widths.

提交回复
热议问题