簡體   English   中英

如何在App.xaml文件的Application.Resources中組合LocalizedStrings和ResourceDictionary標記

[英]How to Combine LocalizedStrings and ResourceDictionary tags in the Application.Resources of the App.xaml file

我想使用App.xaml在Windows Phone 8應用程序中使用Style文件和LocalizedStrings文件作為資源。

我知道要添加樣式文件作為資源我們可以使用:

<Application.Resources> 
    <ResourceDictionary> 
        <ResourceDictionary.MergedDictionaries> 
            <ResourceDictionary Source="Assets/Resources/Styles.xaml" /> 
        </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources>

並聲明LocalizedStrings作為我們可以使用的資源:

<Application.Resources> 
    <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/> 
</Application.Resources>

兩者都在我的應用程序中單獨運行。 但是在嘗試同時使用這兩種資源時我遇到了一些問題。

Visual Studio阻止我在ResourceDictionary標記上方添加LocalizedStrings標記,向我詢問密鑰,VS也阻止我在ResourceDictionnary標記內添加LocalizedString標記。 但是當我執行以下操作時VS很安靜:

<Application.Resources> 
    <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/> 
    <ResourceDictionary x:Key="MyAppDict"> 
        <ResourceDictionary.MergedDictionaries> 
            <ResourceDictionary Source="Assets/Resources/Styles.xaml" /> 
        </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources>

但是當運行應用程序時,我得到了一個帶有附加信息的XamlParseException :無法分配給屬性System.Windows.ResourceDictionnary.Source

那么你對如何在App.xaml文件中組合這兩個資源有任何想法嗎?

您可以使用以下代碼添加兩者。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="./Resources/ThemeResources.xaml"/>
        </ResourceDictionary.MergedDictionaries>
        <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/>            
    </ResourceDictionary>
</Application.Resources>

我在我的應用程序中使用它們並且它不會在那里顯示任何異常。

我遵循了Kunjan Patel的想法,但仍然沒有奏效。 所以我在“ResourceDictionary.MergedDictionaries”之前嘗試了“LocalizedStrings”並且它有效! 見下文。

<Application.Resources> 
<ResourceDictionary x:Key="MyAppDict">
    <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/>
    <ResourceDictionary.MergedDictionaries> 
        <ResourceDictionary Source="Assets/Resources/Styles.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 

暫無
暫無

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

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