how to use styles defined in ResourceDictionary

柔情痞子 提交于 2019-12-06 23:49:35

问题


I have several common styles and I want to share them in several pages of my Windows 8.1 application.

I know that I can achieve with merge dictionaries option, but I have no idea how to use styles defined in dictionary.

I tried this:

<Page.Resources>
<ResourceDictionary x:Key="lol">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Themes/Generic.xaml" />
        <ResourceDictionary>
            <Style x:Key="TextViewAllStyle" TargetType="TextBlock">
            </Style>
        </ResourceDictionary>
    </ResourceDictionary.MergedDictionaries>
    <Style x:Key="TextViewAllStyle2" TargetType="TextBlock">
    </Style>
</ResourceDictionary>
<Style x:Key="TextViewAllStyle3" TargetType="TextBlock">
</Style>
</Page.Resources>

But my Visual Studio sees only the third one...

<TextBlock Style="{StaticResource ResourceKey=TextViewAllStyle3}"/>

回答1:


add the following tag to your App.Xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            -- reference your dictionaries here --
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

each dictionary can be added by its full path:

<ResourceDictionary Source="pack://application:,,,/MySolution.MyProject;component/Theme/Generic.xaml"/>

if in the same project by its relative path:

<ResourceDictionary Source="Themes\Generic.xaml"/>

or defined inline:

<Style x:Key="TextViewAllStyle" TargetType="TextBlock">
</Style>


来源:https://stackoverflow.com/questions/22114260/how-to-use-styles-defined-in-resourcedictionary

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!