WPF疑難雜症之二(全螢幕視窗)

2021-09-22 07:40:01 字數 1350 閱讀 9786

近日的學習中遇到乙個非常奇怪的問題:用

xaml

檔案建立了乙個全螢幕視窗,然後,在視窗中建立了乙個非常簡單的動畫。一切都在我的掌控之中,實現非常的順利。

wpf中用

xaml

建立全螢幕視窗非常簡單,只需要簡單地設定

window

元素的一些屬性即可:

xmlns=""

xmlns:x=""

windowstate="maximized"

topmost="true"    

windowstyle="none"

allowstransparency="true"

>

最後程式的執行結果卻出乎所料,在呼叫

storyboard.begin

之前,一切都很正常,但是一旦啟動動畫,程式執行及很慢,滑鼠的運動很慢很慢。有興趣的朋友可以自己嘗試一下。

如果把視窗

style

稍微修改,問題就得到了解決,把

windowstyle

的none

修改為其它的值似乎都可以正常執行。動畫的效率得到了極大的提高。

但是我們要的就是全螢幕,那怎麼辦呢?時間比較緊急,咱就曲線救國繞過去吧!在

xaml

的window

屬性中windowstyle

保留其預設值,在視窗的載入響應函式裡直接用了

win32 api

函式來修改視窗的

style

。現在可以幾乎可以肯定這不像是正統的方法,或者還有其它的還沒有了解的知識。修改後的**如下:

xmlns=""

xmlns:x=""

windowstate="maximized"

topmost="true"    

loaded="onmainload"

>

private void onmainload(object sender, routedeventargs e)

public class win32api

public const int gwl_style = -16;

public const int gwl_exstyle = -20;       

public const int ws_caption = 0x00c00000;

**中使用的

windowinterophelper

類將在後續的隨筆中介紹。至於用

c#呼叫

win32 api

函式應該不需要進一步的介紹,不熟悉

c#的朋友可以參考

msdn

中的interoperability

Hadoop疑難雜症

前天安裝了pig,本來寫了條pig latin,但一直卡在 17 05 07 17 47 07 info mapreduce.job running job job 1494150363568 0001跑不通,想著肯定是mapredcue自身有問題,於是開始了艱苦的檢錯之旅,從csdn到stackf...

Appium疑難雜症

坑之初體驗 1.session大於60秒沒接收到命令自動關閉 python desired caps 在啟動配置裡面加入newcommandtimeout引數 desired caps newcommandtimeout 200 但是注意cnpm預設在當前目錄安裝npm包。3.uiautomatio...

疑難雜症 列舉

1.列舉是使用者自定義的整數型別 2.關於列舉的一般用法,參照 c 中的列舉 3.從字串中獲取列舉值 定義如下的列舉 public enum timeofday 從乙個字串得到列舉值,並轉換為整數 timeofday time timeofday enum.parse typeof timeofda...