WPF将实际行添加到FlowDocument

3 c# wpf flowdocument

我正在以编程方式创建FlowDocument.在这个FlowDocument中,我想添加一行来分解文本.不是新的文本行,而是从左到右的行.问题是FlowDocument宽度是动态的,所以只添加一个"_"字符串实际上不是一个选项.图可以添加这样的一行;

Line l = new Line();
l.Margin = new Thickness(3);
l.Height = 2;
l.Width = double.NaN;
FlowDocument doc = new FlowDocument();
doc.Blocks.Add(l);
Run Code Online (Sandbox Code Playgroud)

问题是doc.Blocks.Add(l);返回此错误;

cannot convert from 'System.Windows.Shapes.Line' to 'System.Windows.Documents.Block'
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Hen*_*man 6

它应该是可能的BlockUIContainer.

线需要X1,Y1和X2,Y2设置.我不认为NaN的自动宽度会起作用.

您可能希望使用具有高度= 1(和拉伸选项)的矩形.

    var separator = new Rectangle();
    separator.Stroke = new SolidColorBrush(Colors.Blue);
    separator.StrokeThickness = 3;
    separator.Height = 3;
    separator.Width = double.NaN;

    var lineBlock = new BlockUIContainer(separator);       
    myFlowDocument.Blocks.Add(lineBlock);
Run Code Online (Sandbox Code Playgroud)