日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
WPF全屏幕窗口創(chuàng)建方法介紹

WPF全屏幕窗口在實(shí)際使用中是一個(gè)比較常見(jiàn)的應(yīng)用方法。如何才能快速簡(jiǎn)單的實(shí)現(xiàn)這一功能,是一個(gè)初級(jí)開(kāi)發(fā)人員必須掌握的技巧。#t#

創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、陽(yáng)明網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為陽(yáng)明等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

WPF中用XAML創(chuàng)建WPF全屏幕窗口非常簡(jiǎn)單,只需要簡(jiǎn)單地設(shè)置Window元素的一些屬性即可:

  1. < Window x:Class=
    "WindowsApp.Window1" 
  2. xmlns="http://schemas.
    microsoft.com/winfx/2006/
    xaml/presentation" 
  3. xmlns:x="http://schemas.
    microsoft.com/winfx/2006/xaml" 
  4. WindowState="Maximized" 
  5. Topmost="True"   
  6. WindowStyle="None" 
  7. AllowsTransparency="true" 
  8. > 
  9. < Grid> 
  10. < !--忽略建立動(dòng)畫的代碼-->   
  11. < /Grid> 
  12. < /Window> 

最后程序的運(yùn)行結(jié)果卻出乎所料,在調(diào)用Storyboard.Begin之前,一切都很正常,但是一旦啟動(dòng)動(dòng)畫,程序運(yùn)行及很慢,鼠標(biāo)的運(yùn)動(dòng)很慢很慢。有興趣的朋友可以自己嘗試一下。

如果把窗口Style稍微修改,問(wèn)題就得到了解決,把WindowStyle的None修改為其它的值似乎都可以正常運(yùn)行。動(dòng)畫的效率得到了極大的提高。

但是我們要的就是WPF全屏幕窗口,那怎么辦呢?時(shí)間比較緊急,咱就曲線救國(guó)繞過(guò)去吧!在XAML的Window屬性中WindowStyle保留其默認(rèn)值,在窗口的加載響應(yīng)函數(shù)里直接用了Win32 API函數(shù)來(lái)修改窗口的Style。現(xiàn)在可以幾乎可以肯定這不像是正統(tǒng)的方法,或者還有其它的還沒(méi)有了解的知識(shí)。修改后的代碼如下:

 
 
 
  1. < Window x:Class="WindowsApp.
    Window1" 
  2. xmlns="http://schemas.
    microsoft.com/winfx/2006/
    xaml/presentation" 
  3. xmlns:x="http://schemas.
    microsoft.com/winfx/2006/xaml" 
  4. WindowState="Maximized" 
  5. Topmost="True"   
  6. Loaded="OnMainLoad" 
  7. < Grid> 
  8. < !--忽略建立動(dòng)畫的代碼-->   
  9. < /Grid> 
  10. < /Window> 
  11. private void OnMainLoad
    (object sender, Routed
    EventArgs e)  
  12. {  
  13. int nStyle = Win32API.
    GetWindowLong(new WindowInterop
    Helper(this).Handle;,Win32API.
    GWL_STYLE);  
  14. nStyle &= ~Win32API.WS_CAPTION;  
  15. Win32API.SetWindowLong
    (new WindowInteropHelper(this).
    Handle;, Win32API.GWL_STYLE, nStyle);  
  16. }  
  17. public class Win32API  
  18. {  
  19. [DllImport("user32.dll")]  
  20. public static extern int 
    SetWindowLong(IntPtr hWnd, 
    int nIndex, int New);  
  21. [DllImport("user32.dll")]  
  22. public static extern int 
    GetWindowLong(IntPtr hWnd, 
    int nIndex);   
  23. }  
  24. public const int GWL_STYLE = -16;  
  25. public const int GWL_EXSTYLE = -20;   
  26. public const int WS_CAPTION = 
    0x00C00000; 

WPF全屏幕窗口的創(chuàng)建代碼中使用的WindowInteropHelper類將在后續(xù)的隨筆中介紹。至于用C#調(diào)用Win32 API函數(shù)應(yīng)該不需要進(jìn)一步的介紹,不熟悉C#的朋友可以參考MSDN中的Interoperability相關(guān)內(nèi)容


分享名稱:WPF全屏幕窗口創(chuàng)建方法介紹
文章起源:http://m.5511xx.com/article/cogjpgg.html