C# 一个独立的WPF应用程序可以创建一个看起来像Flash接口的接口吗?

C# 一个独立的WPF应用程序可以创建一个看起来像Flash接口的接口吗?,c#,wpf,flash,user-interface,C#,Wpf,Flash,User Interface,似乎WPF是作为Adobe Flash的应用程序而创建的。Silverlight用于创建网页。但是,可以将相同的功能拉入独立的WPF应用程序中吗。SimeFrase允许在非托管C++游戏中使用Flash。WPF可以用来创建相同类型的接口吗?我所读到的似乎让我相信它可以。但是,我还没有看到任何显示这种界面的应用程序截图。是的。没有理由不能。你只需要做你的工作来创建和应用样式,使它看起来像你想要的 这是工作,但不是魔法。绝对是!WPF可以做Flash在构建游戏UI中所能做的一切,还有很多很多很多 W

似乎WPF是作为Adobe Flash的应用程序而创建的。Silverlight用于创建网页。但是,可以将相同的功能拉入独立的WPF应用程序中吗。SimeFrase允许在非托管C++游戏中使用Flash。WPF可以用来创建相同类型的接口吗?我所读到的似乎让我相信它可以。但是,我还没有看到任何显示这种界面的应用程序截图。

是的。没有理由不能。你只需要做你的工作来创建和应用样式,使它看起来像你想要的


这是工作,但不是魔法。

绝对是!WPF可以做Flash在构建游戏UI中所能做的一切,还有很多很多很多

WPF应用程序可以通过多种方式运行:

  • 作为使用纯托管代码的独立应用程序
  • 作为使用托管代码和本机代码(包括C++代码和UI)
  • 的独立应用程序
  • 作为使用ClickOnce(这称为XBAP)在浏览器中运行的web应用程序
(Silverlight是WPF的子集,可以作为独立应用程序或在浏览器中运行,但不能包含本机代码)

<> P.WPF的一个很酷的地方是,它不像Flash,它可以直接和无缝地结合C++代码和DirectX/OpenGL UI元素。它还可以直接调用代码,并用非托管C++代码共享数据结构。对于Flash,这需要一个专门的运行时,如Scaleform,并且不完全兼容。此外,与非托管代码的连接也不干净

由于与非托管代码和UI集成的功能直接构建到WPF中,因此无需外部供应商(如Scaleform)构建任何内容。因此,没有人在用基于WPF的UI环境收集游戏的屏幕截图,因为没有人试图销售任何东西

通常是这样做的:

<Window ...>
  <Grid>
    <WindowsFormsHost x:Name="host"/> <!-- Unmanaged code will be child of this hWnd -->
    <Grid>
      <!-- WPF UI elements here -->
    </Grid>
  </Grid>
</Window>
这差不多就是全部了


就数据而言,托管组件和非托管组件可以轻松地使用彼此的对象:非托管代码可以通过IJW和C++/CLR使用托管对象。托管代码可以通过COM使用和绑定非托管对象。

WPF远远不止是Flash的答案!它是Windows窗体桌面应用程序框架的替代品。很明显,它可以做独立的应用程序。这真的是一个问题吗?或者你是在问如何将WPF与未管理的代码混合在一起?这有点棘手。作为一个独立WPF应用程序的示例,请看Visual Studio。VS2010用户界面是WPF。
InitializeUnmanagedUI(host.Handle);