您能否提供一些有关如何在基于 C# XAML 的 Metro 风格应用程序中使用 DirectWrite 的指南。我想创建一个基于 XAML 的 UI,但我也想有效地将自定义文本写入屏幕上。
我的猜测是,我可以在 C++ 中创建一个直接访问 DirectWrite 的 WinRT 组件,并使用 C# 项目中的该组件。这可能吗?
我尝试从 C# XAML Metro 应用程序引用 Direct2D 项目,但我什至无法实例化 Direct2D 模板生成的类(它抛出“动态链接库 (DLL) 初始化例程失败。”(来自 HRESULT 的异常) :0x8007045A)”异常)。
然后我尝试创建一个 WinRT 组件 DLL 项目,然后将 Direct2D 项目中的代码文件复制粘贴到该项目,但我无法编译它。
Direct2D 和 WinRT 组件 DLL 项目类型之间是否存在根本差异?我可以访问之前创建的 C# 类吗?我可以使用后者的 Direct2D 吗?
更新:我发现了一个类似问题的答案(有点令人失望)( http://social.msdn.microsoft.com/Forums/en-ZA/winappswithcsharp/thread/2d7ab4a7-9248-426e-8b4d-644b451bef7a ),但那是在消费者预览版之前。我希望情况从那时起有所改变。
最佳答案
这是一个很晚的答案,但是...... 此 DirectX C++/CX 包装器:http://directxwinrt.codeplex.com/ 公开相当多的 D2D block (但很少有 DWrite,...)
关于c# - 从 C# XAML Metro 风格应用程序使用 DirectWrite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9620257/