c# - 从 C# XAML Metro 风格应用程序使用 DirectWrite

标签 c# c++ xaml windows-runtime directx

您能否提供一些有关如何在基于 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/

相关文章:

c# - 控制台颜色背景颜色不变

c# - Visual Studio 2015(社区)设计器显示空白通用应用程序的 NullReferenceException

c++ - 什么库可以解析和解决 C++ 中的简单数学表达式

C++20 范围和排序

xaml - HeaderedItemsControl 的 Metro 等效项

xaml - 将 GridView (XAML) 组 'float: left' 中的项目包装/ float 在最上面的项目上

c# - 如何使用CommandParameter发送列表

c# - XmlReader - 我需要编辑一个元素并生成一个新元素

c# - 如何绘制 Y 轴上的多个列? (MS 图表控件)

c++ - 可以取地址的变量是左值,这是真的吗?