為什麼同樣的WPF控制項在不同的電腦上呈現外觀不一致

2021-10-02 06:59:30 字數 1111 閱讀 4172

今天有同事跑過來說遇到了乙個奇怪的bug,同樣的程式在win7和win10上介面相差了2個畫素

一開始我們以為是半畫素或者是解析度的問題。

結果除錯了很久都沒有結果。

不過意外的我們發現了另乙個奇妙的東西。

下面兩個圖分別是在win7和win10情況下soonp獲得的視覺化樹(已用demo替換)

有麼有發現tabcontrol的子元素grid多出了乙個名字templateroot

在**裡面查詢,發現並沒有這個名字的grid,所以可以確定這個是來自tabcontrol的預設style

所以我們找到win7和win10 下的預設主題aeroaero2

查詢方法可以參見部落格預設的wpf樣式在**_c#,wpf,xaml_黃騰霄的部落格-csdn部落格

我們分別放在dotpeek中反編譯下,獲取theme中對應的樣式baml

有沒有發現這個名字呀。

當然對於這樣子的問題的確不是很好定位,因此我們有兩種可行的解決方案

1、盡量在關鍵介面使用自定義樣式,對元素的呈現細節進行控制

culture=neutral, publickeytoken=31bf3856ad364e35,

processorarchitecture=msil;component/themes/luna.normalcolor.xaml" />

本文會經常更新,請閱讀個人部落格原文: ,以避免陳舊錯誤知識的誤導,同時有更好的閱讀體驗。

wpf的控制項style

前段時間一直在做wpf的ui開發,每次想做些控制項style定製的時候都很頭疼 很多控制項不知道他的controltemplate是什麼樣的 為了方便大家寫style 特別奉上wpf的style大全 從此,媽媽再也不用擔心我的wpf,不會點 so easy!shared in all file wi...

同樣是工作,為什麼成功的是他們?

同樣是工作,到底所謂的 成功人士 為什麼能夠脫穎而出?他們比普通人具備哪些成功的因素?最近我在網上看了一篇關於亞馬遜ceo的採訪,文章中提到亞馬遜是如何從從西雅圖的初創網際網路企業發展為顛覆了商業世界的電子商務巨頭。文章中提到了乙個觀點 無論是蘋果 谷歌 facebook 亞馬遜還是微軟,成功的團隊...

Winform控制項在WPF中使用的注意事項

從winform轉到wpf的時候,經常需要在wpf裡面採用一些以前用winform寫過的控制項。下面介紹在wpf中使用winform的方法和注意事項。1 在wpf中使用winform的控制項 1 新增必須的dll。主要有 windowsformsintegration.dll,system.wind...