Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud vaše aplikace nemá prostředky, které odpovídají konkrétnímu nastavení zařízení zákazníka, použijí se výchozí prostředky aplikace. Toto téma vysvětluje, jak určit, co jsou tyto výchozí prostředky.
Když zákazník nainstaluje aplikaci z Microsoft Storu, nastavení na zařízení zákazníka se porovná s dostupnými prostředky aplikace. Tato shoda se provádí tak, aby pro daného uživatele bylo potřeba stáhnout a nainstalovat jenom příslušné prostředky. Používají se například nejvhodnější řetězce a obrázky pro jazykové předvolby uživatele a nastavení rozlišení a DPI zařízení. Například 200
je výchozí hodnota pro scale
, ale pokud chcete, můžete tuto výchozí hodnotu přepsat.
I pro prostředky, které nepřecházejí do vlastních balíčků prostředků (například obrázků přizpůsobených pro nastavení vysokého kontrastu), můžete určit, jaké výchozí prostředky by aplikace měla používat za běhu, pokud se prostředek, který odpovídá nastavení uživatele, nenašel. Například standard
je výchozí hodnota pro contrast
, ale pokud chcete, můžete tuto výchozí hodnotu přepsat.
Tyto výchozí hodnoty jsou určeny ve formě výchozích hodnot kvalifikátoru prostředků. Vysvětlení, které kvalifikátory prostředků jsou, jejich použití a účel, najdete v tématu Přizpůsobení prostředků pro jazyk, škálování, vysoký kontrast a další kvalifikátory.
Výchozí hodnoty můžete nakonfigurovat jedním ze dvou způsobů. Do projektu můžete buď přidat konfigurační soubor, nebo můžete soubor projektu upravit přímo. Použijte kteroukoliv z těchto možností, která vám nejvíce vyhovuje, nebo co nejlépe funguje s vaším systémem sestavení.
Možnost 1. Určení výchozích hodnot kvalifikátoru pomocí priconfig.default.xml
V sadě Visual Studio přidejte do projektu novou položku. Zvolte soubor XML a pojmenujte ho
priconfig.default.xml
.V Průzkumníku řešení vyberte
priconfig.default.xml
a zkontrolujte okno Vlastnosti. Akce sestavení souboru by měla být nastavena na None a vlastnost Kopírovat do výstupního adresáře by měla být nastavena na Nekopírovat.Nahraďte obsah souboru tímto KÓDEM XML.
<default> <qualifier name="Language" value="LANGUAGE-TAG(S)" /> <qualifier name="Contrast" value="standard" /> <qualifier name="Scale" value="200" /> <qualifier name="HomeRegion" value="001" /> <qualifier name="TargetSize" value="256" /> <qualifier name="LayoutDirection" value="LTR" /> <qualifier name="DXFeatureLevel" value="DX9" /> <qualifier name="Configuration" value="" /> <qualifier name="AlternateForm" value="" /> </default>
Poznámka Hodnota
LANGUAGE-TAG(S)
se musí synchronizovat s výchozím jazykem vaší aplikace. Pokud je to jedna značka jazyka BCP-47, musí být výchozí jazyk vaší aplikace stejnou značkou. Pokud se jedná o čárkami oddělený seznam značek jazyka, musí být výchozí jazyk vaší aplikace první značkou v seznamu. Výchozí jazyk aplikace nastavíte v poli Výchozí jazyk na kartě Aplikace ve zdrojovém souboru manifestu balíčku aplikace (Package.appxmanifest
).Každý
<qualifier>
prvek říká sadě Visual Studio, jakou hodnotu má použít jako výchozí pro každý název kvalifikátoru. S obsahem souboru, který jste dosud vytvořili, jste ve skutečnosti nezměnili chování Visual Studio. Jinými slovy, Visual Studio se už chovalo, jako by tento soubor obsahoval tyto informace, protože to jsou standardní výchozí hodnoty. Pokud tedy chcete přepsat výchozí hodnotu vlastní hodnotou, budete muset změnit hodnotu v souboru. Tady je příklad, jak může soubor vypadat, pokud byste upravili první tři hodnoty.<default> <qualifier name="Language" value="de-DE" /> <qualifier name="Contrast" value="black" /> <qualifier name="Scale" value="400" /> <qualifier name="HomeRegion" value="001" /> <qualifier name="TargetSize" value="256" /> <qualifier name="LayoutDirection" value="LTR" /> <qualifier name="DXFeatureLevel" value="DX9" /> <qualifier name="Configuration" value="" /> <qualifier name="AlternateForm" value="" /> </default>
Uložte a zavřete soubor a znovu sestavte projekt.
Pokud chcete ověřit, že se vaše přepsané výchozí hodnoty zohledňují, vyhledejte soubor <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml
a ověřte, že jeho obsah odpovídá vašim přepsání. Pokud ano, pak jste úspěšně nakonfigurovali kvalifikátory prostředků, které bude vaše aplikace používat ve výchozím nastavení. Pokud se nenajde shoda s nastavením uživatele, použijí se prostředky, jejichž názvy složek nebo souborů obsahují výchozí hodnoty kvalifikátoru, které jste tady nastavili.
Jak to funguje?
Visual Studio na pozadí spustí nástroj s názvem MakePri.exe
pro vygenerování souboru označovaného jako index prostředků balíčku (PRI), který popisuje všechny prostředky vaší aplikace, včetně označení výchozích prostředků. Podrobnosti o tomto nástroji naleznete v tématu Ruční kompilace prostředků pomocí MakePri.exe. Visual Studio předává konfigurační soubor do MakePri.exe
. Obsah souboru priconfig.default.xml
se používá jako <default>
prvek tohoto konfiguračního souboru, což je část, která určuje sadu kvalifikátorových hodnot, které jsou považovány za výchozí. Přidávání a úpravy priconfig.default.xml
tedy nakonec ovlivňuje obsah souboru Indexu prostředků balíčku, který Visual Studio pro vaši aplikaci generuje a zahrnuje do balíčku aplikace.
Poznámka Kdykoli změníte hodnotu elementu <qualifier name="Language" ... />
, musíte tuto změnu synchronizovat s výchozím jazykem vaší aplikace. To znamená, že prostředky jazyka indexované v souboru PRI vaší aplikace odpovídají výchozímu jazyku manifestu vaší aplikace. Hodnota v elementu <qualifier name="Language" ... />
přepíše hodnotu v manifestu s ohledem na obsah <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml
souboru , ale tento soubor a manifest vaší aplikace by se měly shodovat.
Použití jiného názvu souboru než priconfig.default.xml
Pokud soubor priconfig.default.xml
pojmenujete, visual Studio ho rozpozná a použije ho automaticky. Pokud ho pojmenujete jinak, budete muset sadě Visual Studio dát vědět. Do souboru projektu mezi otvírací a koncovou značkou prvního <PropertyGroup>
elementu přidejte tento kód XML.
<AppxPriConfigXmlDefaultSnippetPath>FILE-PATH-AND-NAME</AppxPriConfigXmlDefaultSnippetPath>
Nahraďte FILE-PATH-AND-NAME
cestou a názvem vašeho souboru.
Možnost 2. Určení výchozích hodnot kvalifikátoru pomocí souboru projektu
Toto je alternativa k možnosti 1. Jakmile pochopíte, jak Možnost 1 funguje, můžete místo toho zvolit Možnost 2, pokud to lépe vyhovuje vašemu pracovním postupu pro vývoj nebo sestavení.
Do souboru projektu mezi otvírací a koncovou značkou prvního <PropertyGroup>
elementu přidejte tento kód XML.
<AppxDefaultResourceQualifiers>Language=LANGUAGE-TAG(S)|Contrast=standard|Scale=200|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>
Tady je příklad, jak to může vypadat po úpravách prvních tří hodnot.
<AppxDefaultResourceQualifiers>Language=de-DE|Contrast=black|Scale=400|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>
Uložte a zavřete soubor a poté znovu sestavte projekt.
Poznámka Kdykoli změníte Language=
hodnotu, musíte ji synchronizovat s výchozím jazykem vaší aplikace v návrháři manifestu (otevřením Package.appxmanifest
).