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

问题描述 投票:0回答:1

有没有办法更改 C# WinRT 应用程序中文本框的行距或行高?

可以通过 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 元素的行高。有什么办法可以做到这一点吗?

c# xaml textbox windows-runtime
1个回答
0
投票

迟到的答案,但您可以通过通过Block classWinRT)设置属性以编程方式执行此操作。

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

在Xaml中你甚至不需要指定堆叠策略或参考

TextBlock
:

<TextBox Block.LineHeight="10" /> 
© www.soinside.com 2019 - 2024. All rights reserved.