我有一个在XAML文件中定义ResourceDictionary
的项目。通过将以下代码添加到AssemblyInfo.cs文件
[assembly: XmlnsDefinition("http://schemas.myproject.com/xaml/wpf", "MyNameSpace.Wpf")]
父项目具有对此项目的引用。我可以使用以下语法将子项目的命名空间导入XAML
xmlns:wpf="http://schemas.myproject.com/xaml/wpf"
在该父项目中,我需要访问子项目中的ResourceDictionary
。我试图使用包URI - https://msdn.microsoft.com/en-us/library/aa970069(VS.85).aspx
该文档非常清楚如何使用Pack URI明确地按名称访问程序集。但是,如果可以使用别名组件,则不会清楚。例如,我尝试过:
<ResourceDictionary Source="pack://application:,,,http:,,schemas.myproject.com,xaml,wpf;component/Source/DictionaryFile.xaml"/>
生成的错误消息是“无法识别URI前缀”。是否有特殊的Pack URI语法来实现这一点?需要注意的是,子程序集必须使用此别名。两个项目都是共享的,实际的子程序集名称可能会有所不同。使用别名可以让我抽象出命名差异。