<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                **本文主要講的是win32程序中如何應用WPF界面** 1.WPF概述??? WPF縮寫為Windows Presentation Foundation的縮寫 ,其原來代號為“Avalon”,因“我佩服”拼音首字母組合一樣,國內有人調侃地稱之為“我佩服”。WPF是微軟新一代圖形系統,運行在.NET Framework 3.0架構下,為用戶界面、2D/3D 圖形、文檔和媒體提供了統一的描述和操作方法。基于DirectX 9/10技術的WPF不僅帶來了前所未有的3D界面,而且其圖形向量渲染引擎也大大改進了傳統的2D界面,比如Vista中的半透明效果的窗體等都得益于WPF。 程序員在WPF的幫助下,要開發出媲美Mac程序的酷炫界面已不再是遙不可及的奢望。 WPF相對于Windows客戶端的開發來說,向前跨出了巨大的一步,它提供了超豐富的.NET UI 框架,集成了矢量圖形,豐富的流動文字支持flow text support,3D視覺效果和強大無比的控件模型框架。 2.MVVM概述 MVVM(Model-View-ViewModel) 是MVC模式演變而來的, 在MVP模式的基礎上實現了與WPF完美的結合. Model是數據層; View也就是呈現層或者UI層; ViewModel是View的抽象,實現了View的接口和屬性、命令以及Model的處理。如,下圖為MVVM模式架構圖:????? ![MVVM架構](image/d41d8cd98f00b204e9800998ecf8427e.jpg) 3.Win32與WPF的混合編程 1> win32工程的工程屬性添加/CLR支持 2> win32工程的Framework and References 中添加一些.net必須的引用, 如PresentationCore, PresentationFramework, System, WindowBase;? (ps: 其.net引用集應該與要調用的WPF的引用集相同) 3> 建立WPF應用程序,??將工程的工程屬性的Application/Output type設為 Class Library, 刪除App.xaml和App.xaml.cs文件, 并在Win32程序的Framework and References / Projects添加這個WPF程序集. 4> 通過clr語法關聯c++ 和 C#. 如: ??????? HWND GetHwnd(HWND parent, int x, int y, int width, int height) ??????? { ??????? HwndSource^ source = gcnew HwndSource( ????????????????? 0, // class style ????????????????? WS_VISIBLE | WS_CHILD, // style ????????????????? 0, // exstyle ????????????????? x, y, width, height, ????????????????? "WPF", // NAME ????????????????? IntPtr(parent)??????? // parent window ????????????????? ); ??????? WpfPageHost::hostedPage = gcnew MainView(); ??????? WpfPageHost::hostedViewModel = gcnew MainViewModel();? ??????? source->RootVisual = WpfPageHost::hostedPage; ??????? return (HWND) source->Handle.ToPointer(); ??????? } 5> 利用Microsoft Expression Blend設計WPF界面 參考資料: 1.WPF[http://zh.wikipedia.org/zh-cn/Windows_Presentation_Foundation#_note-0](http://zh.wikipedia.org/zh-cn/Windows_Presentation_Foundation#_note-0) 2.Expression Blend中文論壇[http://www.expressioncn.com/](http://www.expressioncn.com/) 3.Expression Blend官網[http://www.microsoft.com/expression/](http://www.microsoft.com/expression/) 4.WPF Apps With The Model-View-ViewModel Design Pattern[http://msdn.microsoft.com/zh-cn/magazine/dd419663.aspx](http://msdn.microsoft.com/zh-cn/magazine/dd419663.aspx) 5.Walkthrough: Hosting Windows Presentation Foundation Content in a Win32 Application[http://msdn.microsoft.com/en-us/library/ms744829.aspx](http://msdn.microsoft.com/en-us/library/ms744829.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看