Используйте DirectWrite из приложения в стиле C # XAML Metro - PullRequest
2 голосов
/ 08 марта 2012

Не могли бы вы дать некоторые рекомендации по использованию DirectWrite из приложения в стиле Metro на основе C # XAML.Я хочу создать пользовательский интерфейс на основе XAML, но я также хочу эффективно выводить пользовательский текст на экран.

Я предполагаю, что я могу создать WinRT-компонент в C ++, который напрямую обращается к DirectWrite, и использовать этот компонентиз проекта C #.Возможно ли это?

Я попытался сослаться на проект Direct2D из приложения CAML XAML Metro, но я даже не смог создать экземпляр класса, сгенерированного шаблоном Direct2D (он вызвал инициализацию библиотеки динамических ссылок (DLL)подпрограмма не удалась. (Исключение из HRESULT: 0x8007045A) "исключение".

Затем я попытался создать проект DLL компонента WinRT, а затем скопировать и вставить в него файлы кода из проекта Direct2D, но я не былвозможность компиляции.

Существуют ли принципиальные различия между типами проектов DLL-компонентов Direct2D и WinRT?Могу ли я получить доступ к классам из C #, созданным ранее?Могу ли я использовать Direct2D из последнего?

ОБНОВЛЕНИЕ: Я нашел - несколько разочаровывающий - ответ на аналогичный вопрос (http://social.msdn.microsoft.com/Forums/en-ZA/winappswithcsharp/thread/2d7ab4a7-9248-426e-8b4d-644b451bef7a),, но это было до Предварительного просмотра. Я надеюсь, что ситуация изменилась с тех порто.

Ответы [ 2 ]

2 голосов
/ 17 февраля 2013

Ответ очень поздний, но ... Это DirectX C ++ / CX обертка: http://directxwinrt.codeplex.com/ Выставьте довольно хороший кусок D2D (но немного DWrite, ...)

0 голосов
/ 09 марта 2012

Теперь я нашел сообщение в блоге, которое отвечает на часть моего вопроса о том, возможно ли это: 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. Я собираюсь обновить этот ответ, если выясню, что не так с моим подходом, и как его правильно сделать.

...