XAML 在C#/WinRT中更改文本框的行距

okxuctiv  于 2023-08-01  发布在  C#
关注(0)|答案(1)|浏览(120)

在C# WinRT应用程序中,是否有任何方法可以更改TextBox的行距或行高?
可以通过XAML属性在WPF中使用TextBox元素来执行此操作,如下所示:

<TextBox TextBlock.LineHeight="10" TextBlock.LineStackingStrategy="BlockLineHeight" />

字符串
Silverlight有一个LineHeight属性,可以直接应用于TextBox元素。
WinRT不允许这两种情况。
在WinRT中,可以像这样更改RichEditBox中文本的行高(其中EditorBox是RichEditBox):

Windows.UI.Text.ITextParagraphFormat LineHeight = EditorBox.Document.GetDefaultParagraphFormat();
LineHeight.SetLineSpacing(Windows.UI.Text.LineSpacingRule.OneAndHalf, 1);


但这并没有真正帮助我,因为我想改变一个TextBox元素的行高。有什么办法可以让我这么做吗?

5t7ly7z5

5t7ly7z51#

延迟回答,但您可以通过Block class设置属性以编程方式完成此操作。

TextBox tbox = new TextBox();
tbox.SetValue(Block.LineHeightProperty, 10.0);

字符串
在Xaml中,您甚至不需要指定堆栈策略或引用TextBlock

<TextBox Block.LineHeight="10" />

相关问题