gpt4 book ai didi

.net - XAML 中的单个字符填充

转载 作者:行者123 更新时间:2023-12-01 15:33:14 26 4
gpt4 key购买 nike

XAML 中是否有一种方法可以在单个字符周围添加填充?最好在字符之前和之后。

我有一个文本框,我希望输入的内容间隔多一点(因此它与背景图像对齐)。能够执行以下操作是理想的:

有什么办法可以做到这一点吗?

看起来可以在 MS-Word 中执行此操作(详细信息 here ),所以希望这意味着它可以在 XAML 中执行?

最佳答案

使用 Glyphs 可以在 XAML 中调整字符间距类,特别是 Indices属性(property)。这是一个非常低级的文本 API,因此您必须指定字体 URI(而不是姓氏),并且您需要自己计算所有间距。

以下 XAML 使用 Glyph.Indices 应用字符间距:

<Glyphs UnicodeString="Expanded" Indices=",100;,100;,100;,100;,100;,100;,100"
FontUri="file://c:/windows/fonts/arial.ttf"
Fill="Black" FontRenderingEmSize="24" />
<Glyphs UnicodeString="Normal"
FontUri="file://c:/windows/fonts/arial.ttf"
Fill="Black" FontRenderingEmSize="24" />
<Glyphs UnicodeString="Condensed" Indices=",60;,50;,50;,50;,45;,50;,40;,45"
FontUri="file://c:/windows/fonts/arial.ttf"
Fill="Black" FontRenderingEmSize="24" />

作为documented here , Indices 属性包含以分号分隔的 chr,off 对列表。 chr 是字形在字体中的索引;如果省略,WPF 将使用与 UnicodeString 中的当前字符对应的字形。 off 是这个字形和下一个字形之间的间距; 0 将两者显示在彼此之上,任何正值都会增加间距。 “正常”间距取决于您使用的字体;正如您在“压缩”示例中看到的那样,我对不同的字符对使用了不同的间距以使输出看起来更好。

显然,这仅适用于您正在显示的静态文本,而不适用于从用户那里收集的输入(在 TextBox 中);我不知道有什么方法可以调整“标准”文本对象(TextBlockTextBoxRun、等),所以也许答案是“不,没有办法在 XAML 中执行此操作”。

关于.net - XAML 中的单个字符填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com