【问题标题】:How to insert mathematical symbol in metro app如何在 Metro 应用程序中插入数学符号
【发布时间】:2014-03-21 09:38:33
【问题描述】:

看起来 RichEditBox 支持数学编辑并在 Windows 8 中显示 http://blogs.msdn.com/b/murrays/archive/2012/03/03/richedit-8-0-preview.aspx, 但是当我从 MS word doc 复制/粘贴数学方程式时,它们被视为图像并且不允许编辑。

我可以在 RichEditBox 中创作数学符号/方程式吗?我可以使用它们的 Unicode 值来渲染符号(通过 Windows 8.1 中的字符映射应用程序获得),但我想要高级控制,以便我可以编写复杂的方程式。

【问题讨论】:

    标签: c# math winrt-xaml windows-8.1 richedit-control


    【解决方案1】:

    您可能希望使用 InlineUIContainer 来正确格式化方程式,但 unicode 中有大量数学符号

    http://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode

    要使用该博客文章中的任何内容,您需要下拉到 COM,UGLY。

    【讨论】:

    • 我能够使用默认设置从 Word doc 中获取格式正确的方程式。即使我沿 COM 方式发送消息 EM_SETEDITSTYLEEX,它是否允许我编辑方程式?不确定...
    【解决方案2】:

    如何从 Word 复制数学内容取决于 Word 如何支持复制此类内容,而不取决于 RichEditBox 支持什么。正如您所注意到的,unicode 支持此类符号,但符号如何进入框需要由您定义。你可以:

    • 提供一个工具栏,通过正确添加 unicode 值来插入符号
    • 支持粘贴来自其他应用程序的内容。在这种情况下,您需要分析剪贴板中内容的外观。粘贴时,您需要将该内容转换为您需要的内容类型(即 unicode 字符)。

    【讨论】:

    • 编写一个像 MS Word 已经支持的那样精致的工具栏,可能是一项乏味的工作,需要用户学习。我的应用程序的大多数用户可能已经熟悉 word doc,所以我希望提供一种快速的创作方式。
    • 好吧,你可以做一些事情,比如创建一个带有弹出窗口的单个按钮,该按钮显示给定 unicode 值范围内所有字符的 GridView,例如@Gusdor 答案中提供的链接中列出的那些.相对于其他任何事情,这不会特别乏味。
    猜你喜欢
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多