0

我来自两个不同的背景:我在 WPF/XAML/C# 应用程序开发方面拥有丰富的经验,并且在 C++/DirectX 开发方面拥有相同的经验。我听说可以同时使用 DirectX 和 XAML,我感到非常兴奋,但现在我已经碰壁了。

我正在尝试在 WPF 应用程序中使用 SwapChainBackgroundPanel。但我正在尝试使用 C# 作为底层语言。我一直遇到问题,无论我创建的 C# 项目的类型(PCL、WPF、Windows Store)如何,这些类型都没有定义[即我一直在寻找 SwapChainBackgroundPanel 和其他一些 DX 东西,如设备等。 )

所以我的问题是:这在 C# 中是如何工作的?我看过 MSDN 中用 C++ 完成的简单射击游戏示例,这很有意义;我得到它。但是当我尝试在 C# 中做这件事时,我觉得我错过了其中一个“陷阱”。

任何建议,或者可能是示例链接,或者充其量是有关设置 C#/XAML/DX 应用程序的小教程,都会令人惊叹。谢谢大家。

4

2 回答 2

1

WPF 应用程序(即在 PresentationCore 中)没​​有可用的 SwapChainBackgroundPanel。您将获得的最接近的是D3DImage 类,但它并不完全相同。 请参阅此讨论

我不认为您可以从 C# 充分利用 Windows 8 应用商店应用程序 (SwapChainBackgroundPanel) 的 DirectX 功能。您将不得不按照您描述的示例在 C++ 中完成 DirectX 工作。您当然可以像本示例中那样组合这三个(Xaml、C#、C++) ,但我认为 100% 的 C# 应用程序是不可能的。

于 2013-02-20T02:31:29.387 回答
-1

答案是错误的。可以通过包装器充分利用 C#。我自己使用 SharpDx 完成了这项工作,这实际上是微软在 C# 中使用 DirectX 的建议之一。

至于 XAML 库的选择,Universal Windows App 10 或 Windows Store App 8 是要走的路。使用 SwapChainPanel 而不是 SwapChainBackgroundPanel。

于 2016-03-05T14:25:17.463 回答