0

我正在使用一个 Xaml 文件,该文件是从 ViewBase 派生的自定义视图,并且我想访问位于不同程序集中的 DynamicResource。我已经看到可以使用类似的东西:

<Application.Resources>
    <ResourceDictionary
    Source="/mylib;Resources/MyStyleDictionary.xaml" />
</Application.Resources>

但是,我正在处理一个类似于以下内容的 xaml 文件:

<myLib:ViewBase> 
    <Grid>
        <Button>
            Style="{DynamicResource MyButtonStyle}" // I want this style to come from a different assembly
        </Button>
    </Grid>
 </myLib:ViewBase>

我怎样才能做到这一点?

4

1 回答 1

1

了解动态资源和静态资源之间的区别很重要。WPF中的StaticResource和DynamicResource有什么区别?

但是要回答这个问题:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/SomeOtherAssembly;Resources/SomeOtherDictionaryWithMyButtonStyleKey.xaml" />
            <ResourceDictionary Source="/mylib;Resources/MyStyleDictionary.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

资源被动态引用,因此在 MyStyleDictionary.xaml 合并之前合并 SomeOtherDictionaryWithMyButtonStyleKey.xaml 应该可以工作。

于 2012-12-13T14:10:17.273 回答