0

ViewBase から派生したカスタム ビューである Xaml ファイルを使用しており、別のアセンブリにある 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 に答える