免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
WPF疑難雜癥之二(全屏幕窗口)

近日的學(xué)習(xí)中遇到一個(gè)非常奇怪的問題:用XAML文件創(chuàng)建了一個(gè)全屏幕窗口,然后,在窗口中建立了一個(gè)非常簡單的動(dòng)畫。一切都在我的掌控之中,實(shí)現(xiàn)非常的順利。

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

<Window x:Class="WindowsApp.Window1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    WindowState="Maximized"

    Topmost="True"    

    WindowStyle="None"

    AllowsTransparency="true"
   
>

    <Grid>

      <!--忽略建立動(dòng)畫的代碼-->  

    </Grid>

</Window>

 

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

 

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

 

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

 

<Window x:Class="WindowsApp.Window1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    WindowState="Maximized"

    Topmost="True"    

    Loaded="OnMainLoad"

    >

    <Grid>

      <!--忽略建立動(dòng)畫的代碼-->  

    </Grid>

</Window>

 

private void OnMainLoad(object sender, RoutedEventArgs e)

{

int nStyle = Win32API.GetWindowLong(new WindowInteropHelper(this).Handle;,Win32API.GWL_STYLE);

nStyle &= ~Win32API.WS_CAPTION;

Win32API.SetWindowLong(new WindowInteropHelper(this).Handle;, Win32API.GWL_STYLE, nStyle);

}

 

public class Win32API

{

     [DllImport("user32.dll")]

     public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int New);

       

     [DllImport("user32.dll")]

     public  static extern int GetWindowLong(IntPtr hWnd, int nIndex);

}

 

public const int GWL_STYLE = -16;

public const int GWL_EXSTYLE = -20;       

public const int WS_CAPTION = 0x00C00000;

 

代碼中使用的WindowInteropHelper類將在后續(xù)的隨筆中介紹。至于用C#調(diào)用Win32 API函數(shù)應(yīng)該不需要進(jìn)一步的介紹,不熟悉C#的朋友可以參考MSDN中的Interoperability相關(guān)內(nèi)容。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
閑話WPF之二(XAML概述)
VB.net學(xué)習(xí)筆記(十七)XAML
WPF快速入門系列(1)——WPF布局概覽
WPF窗體
WPF之XAML
WPF XAML引用其他程序集中命名空間的類型
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服