【发布时间】:2013-01-24 23:23:07
【问题描述】:
我制作了一个自定义控件。它扩展了 RichTextBox。
我有设置文档宽度的代码,以便限制字符数。 (我使用的是 Courier New,所以我有一个固定宽度的字体。)
这一切都很好。
但是,一旦我将控件放入我的应用程序中,限制就会开始失效。在比较了两者之后,我注意到我的测试应用程序和我的实际应用程序之间的间距是不同的。
这是一个例子:
如您所见,我的 Test App 间距大于 Real App 的间距。
我在这两个应用程序中都没有任何间距、字距调整、排版或字形设置(我可以找到)。另外,我检查了所有以“Font”开头的设置(FontSpacing、FontSize...),它们都完全相同。
还有什么可能导致文本在一个应用中与另一个应用中应用不同的间距?
注意:
如果相关,将控件插入我的测试应用程序的 xaml 与将控件插入我的真实应用程序的 xaml 相同。如果有人想看,我会发布。
【问题讨论】:
-
您是否还检查了
FontStretch和Indices?其他可能会检查框的默认控件模板和/或在实例中隐式定义您的设置以查看它是否仍然有效。另外,你确定你的真实应用没有通过默认模板等继承不同的值吗? -
@ChrisW。 - 我检查了 FontStretch(未应用于我的盒子),并且“索引”(或 Gliph)这个词没有出现在我的代码中的任何地方。我已经检查了我的应用程序可能发生的任何模板,但我似乎找不到任何会导致这种情况的东西。
-
这SO question 有帮助吗?看看汉斯的回答
-
@MarkHall - 就是这样!!!发布为答案,我会接受。