使用C#XAML Metro风格应用程序中的DirectWrite
Use DirectWrite from a C# XAML Metro-style app
您能为如何从基于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(但很少的DWrite,…)
现在我发现了一篇博客文章,它回答了我关于这是否可能的部分问题:http://blogs.msdn.com/b/windowsappdev/archive/2012/03/01/what-s-changed-since-build-part-1.aspx,因此从消费者预览版开始就可以混合使用XAML和DirectX。
以下是如何做到这一点的详细指南:http://msdn.microsoft.com/library/windows/apps/hh825871.aspx.如果我发现我的方法有什么问题,以及应该如何正确地完成,我将更新这个答案。
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 通过安装信号处理程序关闭多线程应用程序
- 如何在实时应用程序中锁定线程
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- boost::asio::io_service 在线程中,不会在应用程序退出时退出
- 如何在 MFC 应用程序中启动 ZeroMQ 线程?
- 多线程应用中的流程尺寸不断增长
- 双线程应用比单线程应用慢 C++ (VC++ 2010 Express).如何解决?
- 多线程 gtkmm 应用程序最简单的示例
- 将数组作为多线程应用程序中函数的返回传递
- 修改多线程应用程序中的对象
- 多线程 C++11 应用程序中的同步
- 多线程Windows GUI应用程序中的死锁
- C++多线程应用程序将永远挂起
- 具有多线程应用程序的 Nanomsg 无阻塞双向套接字
- 在接收 SIGINT 操作时适当地关闭多线程 c++ 应用程序
- 如何在多线程应用程序中获得花费的时间
- Linux VM(重型多线程应用程序)的性能改进
- MFC SDI 应用程序文档 DOSAVE 错误0xFEEEFEEE
- OpenCV videoCapture 为 iOS 应用程序文档目录中的文件提供了错误的属性