Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置RichTextBox WPF中文本的垂直对齐方式时出现问题_C#_Wpf_Richtextbox - Fatal编程技术网

C# 设置RichTextBox WPF中文本的垂直对齐方式时出现问题

C# 设置RichTextBox WPF中文本的垂直对齐方式时出现问题,c#,wpf,richtextbox,C#,Wpf,Richtextbox,在RichTextBox WPF中,设置内容的垂直对齐时出现问题。我尝试过为文档设置垂直内容对齐和文本对齐,但仍然不起作用。垂直对齐仍在顶部位置对齐,而不是在中心位置对齐 请查找代码示例以供设置对齐参考 FlowDocument mcFlowDoc = new FlowDocument(); // Create a paragraph with text Paragraph para = new Paragraph(); par

在RichTextBox WPF中,设置内容的垂直对齐时出现问题。我尝试过为文档设置垂直内容对齐和文本对齐,但仍然不起作用。垂直对齐仍在顶部位置对齐,而不是在中心位置对齐

请查找代码示例以供设置对齐参考

        FlowDocument mcFlowDoc = new FlowDocument();
        // Create a paragraph with text  
        Paragraph para = new Paragraph();
        para.Inlines.Add(new Run("Flow Document\n"));
        para.Inlines.Add(new Bold(new Run("Content is not aligned\n.")));
        para.Inlines.Add(new Run("Vertical content alignment does not work in RichTextBox\n"));

        // Add the paragraph to blocks of paragraph  
        mcFlowDoc.Blocks.Add(para);

        // Set contents  
        richtextbox.Document = mcFlowDoc;

        //Set Alignment,


        richtextbox.VerticalContentAlignment = VerticalAlignment.Center;
        richtextbox.HorizontalContentAlignment = HorizontalAlignment.Center;
        richtextboxt.Document.TextAlignment = TextAlignment.Center;

任何感兴趣的人,您能就此提出建议吗?

您可以尝试为FlowDocument而不是RichTextBox设置对齐方式
请查看下面的代码

    FlowDocument mcFlowDoc = new FlowDocument();

    // Set alignment
    mcFlowDoc.TextAlignment = TextAlignment.Center;

    // Create a paragraph with text  
    Paragraph para = new Paragraph();
    para.Inlines.Add(new Run("Flow Document\n"));
    para.Inlines.Add(new Bold(new Run("Content is not aligned\n.")));
    para.Inlines.Add(new Run("Vertical content alignment does not work in RichTextBox\n"));

    // Add the paragraph to blocks of paragraph  
    mcFlowDoc.Blocks.Add(para);

    // Set contents  
    richTextBox.Document = mcFlowDoc;

您还可以在
RichTextBox
控件上设置
Padding
属性,就像Kevin Pan提到的那样

我已经尝试设置FlowDocument的对齐方式,但它始终显示在顶部。这是不可能的。唯一的方法是在RichTextBox顶部设置填充。你的问题已经提出来了