gpt4 book ai didi

c# - 用换行检测 TextBlock 中的换行符数?

转载 作者:太空狗 更新时间:2023-10-29 19:39:29 24 4
gpt4 key购买 nike

有什么方法可以使用 TextWrapping="Wrap" 检测文本 block 中的换行数?

我正在考虑使用非等宽字体。我需要这个,因为我正在创建一个新的和个性化的 MessageBox 窗口,它有一个大文本标题、动画、我的应用程序的 Logo 和我的应用程序的主题。

很明显,我需要根据正文消息的 LineBreaks 数量更改窗口的大小 - 类似于默认 MessageBox 窗口的行为方式。

最佳答案

您可以看到在没有换行的情况下您得到了多少 txtName.ActualHeight,然后将 ActualHeight(有换行)除以您之前获得的值。您应该得到行数。

注意:您不会在构造函数中获得实际高度。在表单中呈现文本 block 后,您将获得它。

例如:(无包装)

txt.ActualHeight
311.0

(换行)

txt.ActualHeight
1420.4400000000019

所以,

int lineCount = (txt.ActualHeight / 311.0)

希望对您有所帮助:)

根据您的问题更新:

如果您需要根据您的文本 block 高度设置消息框高度,您可以简单地这样做:

msgbox.Height = txt.ActualHeight + 10;

//我加了 10 只是为了增加一点边距。

关于c# - 用换行检测 TextBlock 中的换行符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950210/

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