4

WPF コントロール ライブラリを開発していますが、同じアセンブリで定義されたリソース ディクショナリを参照する必要があります。

個別のアセンブリ参照を使用して動作させることができました。

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary
             Source="pack://application:,,,/MyLocalAssembly;component/Foo.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>

同じアセンブリ参照では機能せず、読み込み時に例外 (「リソース 'Foo.xaml' が見つかりません。」) が発生します。デザイナーでは、使用する方法に関係なく、すべてが正常に機能することに注意してください

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary
             Source="pack://application:,,,/Foo.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>

4

1 に答える 1

4

リソース ディクショナリには絶対パスを使用しないでください。単純に相対パス参照を使用してください。

例えば、

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary
             Source="folder/Foo.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>
于 2013-06-26T09:29:33.887 に答える