C# WPF-“;行距“;在文本块中
我有一个文本块,我想传递一个属性'行间距'/strong>'。将“LineHeight”与LineStackingStrategy=“BlockLineHeight”一起使用的一点是,它还将线宽应用于第一行之前的线段:C# WPF-“;行距“;在文本块中,c#,wpf,xaml,textblock,C#,Wpf,Xaml,Textblock,我有一个文本块,我想传递一个属性'行间距'/strong>'。将“LineHeight”与LineStackingStrategy=“BlockLineHeight”一起使用的一点是,它还将线宽应用于第一行之前的线段: <TextBlock LineStackingStrategy="MaxHeight" TextWrapping="Wrap" LineHeight="50">Lorem...</TextBlock> 如何在不修改第一行前的线宽的情况下保存所述“线宽”
<TextBlock LineStackingStrategy="MaxHeight" TextWrapping="Wrap" LineHeight="50">Lorem...</TextBlock>
如何在不修改第一行前的线宽的情况下保存所述“线宽”
我认为可能可行的一件事是将流程文档的段落中的每一行分开,因为段落在行前和行后都有一个属性间隔
任何帮助都将不胜感激。提前谢谢
回答
似乎可以使用LineStackingStrategy=“MaxHeight”来避免在第一行出现前导。(查看下面的答案以了解详细信息)
另外,感谢米奇的启示:D似乎您可以使用
LineStackingStrategy=“MaxHeight”
来避免在第一行出现前导:
<TextBlock LineStackingStrategy="MaxHeight" TextWrapping="Wrap" LineHeight="50">Lorem...</TextBlock>
Lorem。。。
产生
你可以做的一件简单的事就是假装。只需对整个对象应用一个小的负边距,以抵消顶部和底部的行距。就像在你的
TextBlock
上抛出Margin=“0,-5”
,这样一个简短的回答并不认为它仅仅是一条评论。不确定这个答案:是否适用于你的问题,或者是否可以修改,但可能值得一读。实际上,这是我最初的方法。我不想跟上它,因为它给我计算所有不同选项的利润率带来了问题(由于用户可以修改TextSize和TextFont,因此我对LineHeight方法的计算涉及将这两个参数应用于计算行距的函数中,但最终一些组合不太合适(我认为是因为小数),但使用其他数字格式似乎也不起作用。这太完美了!非常感谢!!@Xanagandr,如果这回答了您的问题,您可以单击投票按钮下的复选标记将其标记为接受。