簡體   English   中英

C#WPF VS2017-強制Aero主題

[英]C# WPF VS2017 - Forcing Aero theme

我正在嘗試解決我在Windows 7上使用VS2015編寫的WPF應用程序(屏幕保護程序)的渲染問題。

在Windows 10上,配置窗口看起來完全不同,更重要的是,由於它在Windows 10中的呈現方式,它幾乎沒有用。

這是一些屏幕截圖。 一,windows 7

在此處輸入圖片說明

和Windows 10

在此處輸入圖片說明

盡管有很多細微的差別,但我希望那是不可原諒的是着色和剪切控件。 復選框已選中,您無法分辨。 單選按鈕被選中,您無法分辨。 您甚至看不到底部控件。 是垃圾

我進行了一些研究,發現可以覆蓋該主題,從而強制使用Aero。 我不知道這是否可以解決我的問題,但我無法使其正常工作。

根據我的研究,如果我在App.xaml中添加以下內容,則可能會解決問題。

<Application.Resources>
     <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
     <ResourceDictionary Source="pack://application:,,,/WPFToolkit;component/Themes/Aero.NormalColor.xaml" />
</Application.Resources>

但是,這樣做在VS2017中給了我警告:

屬性“資源”只能設置一次。

所以,我什至無法測試。 我還沒有找到解決方法。 我該如何運作?

----------更新1 ----------

在評論的幫助下,我得以:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

但是,現在該應用程序將完全無法運行。

您的應用已進入中斷狀態,但是由於所有線程都在執行外部代碼(通常是系統代碼或框架代碼),因此沒有任何代碼可顯示。

GitHub上的原始資源

您正在硬編碼“配置”窗口的大小。

 Height="358" Width="300"

在用戶更改了DPI縮放比例的現代OS上,這將無法正確渲染。

在這種情況下,最好使用Window SizeToContent屬性

SizeToContent="WidthAndHeight"

SizeToContent文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM