我来自两个不同的背景:我在WPF / XAML / C#app开发方面有丰富的经验,并且具有与C ++ / DirectX开发相同的经验。我听说有能力一起使用DirectX和XAML,我很兴奋,但现在我已经碰到了这堵墙。
我正在尝试在WPF应用程序中使用SwapChainBackgroundPanel。但我正在尝试使用C#作为底层语言。我一直在遇到问题,无论我创建的C#项目类型(PCL,WPF,Windows Store)都没有定义这些类型[即我一直在寻找SwapChainBackgroundPanel和其他一些DX设备等等。 )
所以我的问题是:这在C#中是如何工作的?我已经看过MSDN中用C ++完成的简单射击示例,这是有道理的;我知道了。但是当我尝试在C#中做这件事时,我觉得我错过了其中一个“陷阱”。
任何建议,或者可能是一个示例的链接,或者最好是一个关于设置C#/ XAML / DX应用程序的小教程,这将是惊人的。谢谢大家。
答案 0 :(得分:1)
WPF应用程序(在PresentationCore中)没有可用的SwapChainBackgroundPanel。你最接近的是D3DImage class,但它并不完全相同。 See this discussion
我认为您无法充分利用C#中Windows 8商店应用(SwapChainBackgroundPanel)的DirectX功能。您将不得不像在您描述的示例中那样使用C ++进行DirectX工作。你当然可以将这三个(Xaml,C#,C ++)组合在this example中,但我不认为100%C#app是可能的。
答案 1 :(得分:-1)
答案是对的。可以通过包装器充分利用C#。 我自己用SharpDx做了这个,这实际上是在C#中使用DirectX的微软推荐之一。
至于XAML库的选择,通用Windows App 10或Windows Store App 8是可行的方法。使用SwapChainPanel而不是SwapChainBackgroundPanel。