根據(jù)應(yīng)用程序上下文自動選擇圖像
本主題介紹如何根據(jù)應(yīng)用上下文在控件中顯示不同的圖像, app context上下文由一個或多個應(yīng)用程序和系統(tǒng)設(shè)置定義:
- 系統(tǒng)DPI設(shè)置
- 應(yīng)用程序語言(UI 文化)
- 應(yīng)用程序的繪畫主題
- 觸摸模式可用性
概述
例如,您希望在常規(guī)上下文中的控件中顯示“Add.png”圖像,并在系統(tǒng)應(yīng)用 150% DPI 設(shè)置時在同一控件中顯示“Add.scale-150.png”,應(yīng)在運行時根據(jù)當(dāng)前上下文自動選擇正確的圖像。
DevExpress WPF控件支持基于當(dāng)前上下文的自動圖像選擇。要啟用此功能,項目中的圖像必須在其名稱中具有專用限定符,或者必須將這些圖像放在名稱包含這些限定符的文件夾中,限定符標(biāo)識應(yīng)該在當(dāng)前上下文中使用的圖像版本。
下面的截圖展示了添加到images文件夾中的五張圖片:
- Add.png”文件是常規(guī)圖像。
- “Add.theme-metropolis.png”名稱由常規(guī)名稱(“Add”),限定符名稱(“theme”)和限定符值(“metropolis”)組成,因此它在應(yīng)用此圖像時識別應(yīng)用程序上下文(即,當(dāng)“theme”為“metropolis”時)。
- “Add.theme-metropolis_scale-150.png”名稱包含另一個限定符(“scale”)及其值(150)。
- 其他圖像使用相同的命名符號。
下面的代碼使用QualifiedImage擴展將Add.png圖像分配給工具欄中的按鈕。
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" <dxb:ToolBarControl> <dxb:BarButtonItem Glyph="{dx:QualifiedImage Uri=Images/Add.png}" Content="Add"/> </dxb:ToolBarControl>
QualifiedImage擴展的使用保證了基于當(dāng)前上下文的自動圖像替換。
- Add.png—— 該圖像將在所有情況下使用,但不包括以下四種縮小應(yīng)用程序上下文的情況。
- Add.theme-metropolis.png——當(dāng)應(yīng)用“MetropolisLight”、“MetropolisDark”或“TouchlineDark”主題時將使用此圖像,但以下情況除外。
- Add.theme-metropolis_scale-150.png——當(dāng)應(yīng)用“MetropolisLight”、“MetropolisDark”或“TouchlineDark”主題時,系統(tǒng)DPI設(shè)置為150%時將使用此圖像。
- Add.theme-office.png——當(dāng)應(yīng)用任何名稱中包含“Office”的主題時,將應(yīng)用此圖像,但以下情況除外。
- Add.theme-office_input-touch.png ——當(dāng)應(yīng)用名稱中包含“Office”的任何觸摸感知主題時,將使用此圖像。這些主題是:“Office2013;Touch”、“Office2013LightGray;Touch”和“Office2013DarkGray;Touch”。
您可以將圖像放置在名稱包含這些限定符的文件夾中來替代在圖像名稱中使用限定符。上面顯示的圖像可以放置在文件夾中,如下所示。
QualifiedImage擴展必須指定與常規(guī)上下文對應(yīng)的圖像的完整路徑,對于上面的截圖,這個路徑必須是Images/Add.png:
... <dxb:BarButtonItem Glyph="{dx:QualifiedImage Uri=Images/Add.png}" Content="Add"/>arkGray;Touch”。
命名約定
要在圖像名稱中使用限定符,請使用以下命名約定。
若要在文件夾名稱中使用限定符,請使用以下命名約定。
您可以通過同時在文件夾和圖像名稱中使用限定符來組合這兩種方法。
文件夾/ lang-en-US / file.theme-office.png
以下部分將描述可用的限定符及其值。
主題限定詞
下表涵蓋了主題限定符和支持的限定符值。
DPI設(shè)置限定符
下表涵蓋了DPI設(shè)置限定符。
應(yīng)用語言(文化)限定詞
下表涵蓋了應(yīng)用程序語言(區(qū)域性)限定符。