1

次のフォルダ構造のソリューションがあります。

Solution 
  MainApplication
    MainWindow.xaml
  SharedResourcesLibrary (Class library project)
    GlobalResources.xaml
  SubFolder
    ControlLibrary (Class library project)
      MyUserControl.xaml

GlobalResources.xamlディクショナリをMainWindow.xamlおよびMyUserControl.xaml のリソースにマージする必要があります。

MainWindow.xamlで次の構文を使用して、GlobalResources.xamlをMainWindow.xamlに正常にマージしました。

<ResourceDictionary Source="/SharedResourcesLibrary;component/GlobalResources.xaml" />

ただし、GlobalResource.xamlをMyUserControl.xamlのリソースにマージする方法がわかりません。私は次のようにパックURI構文を試しました:

<ResourceDictionary.MergedDictionaries>
  <ResourceDictionary Source="pack://application:,,,/SharedResourcesLibrary;component/GlobalResources.xaml" />
</ResourceDictionary.MergedDictionaries>

...しかし、これは正しく機能していないようです。Visual Studio2012xamlエディターで次のエラーメッセージが表示されます。

An error occurred while finding the resource dictionary "pack://application:,,,/SharedResourcesLibrary;component/GlobalResources.xaml"

MyUserControlこの辞書を適切にマージする正しい方法は何ですか?

4

1 に答える 1

1

これは Visual Studio 2012 だけの問題のようです。Visual Studio 2010 でソリューションを開いたところ、デザイナーはパック URI 表記で完全に動作しました。

于 2012-10-01T00:45:32.800 に答える