<RichTextBox x:Name="TextEntry">
<FlowDocument>
<Paragraph Margin="0,0,0,0"/>
</FlowDocument>
</RichTextBox>
这是我当前 XAML 的基本布局。当我第一次启动我的应用程序时,它工作正常。但是,按 CTRL+A 后,页边距似乎重置了,按一下 Enter
似乎在段落中添加了两个新行。
有什么办法可以反击这种行为吗?或者我可能会错误地更改边距?
我尝试在 C# 中添加实现来覆盖 CTRL+A 的默认行为,并预先将事件注册为已处理以防止在后台进行任何奇怪的操作,唉,这并没有让我在任何地方。< /p>
答案 0 :(得分:0)
我发现了问题。
CTRL+A+BACKSPACE 删除了整个 静态样式的 Paragraph 对象。新输入后,原始文本会被扔到一个全新的段落中。这是一个解决方案:
<RichTextBox>
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
<FlowDocument>
<Paragraph Margin="0,0,0,0"/>
</FlowDocument>
</RichTextBox>