1. 程式人生 > >使用帶ParserContext引數的Xaml.Load方法

使用帶ParserContext引數的Xaml.Load方法

原文: 使用帶ParserContext引數的Xaml.Load方法

如果一段XAML中存在一個標記需要從外部名稱空間中解析, 就需要用到ParserContext類,  具體用法如下:


ParserContext pc = new ParserContext ();

      pc.XmlnsDictionary.Add("" , "http://schemas.microsoft.com/winfx/2006/xaml/presentation" );

      pc.XamlTypeMapper = new XamlTypeMapper (new string [0]);

      pc.XamlTypeMapper.AddMappingProcessingInstruction(

        "http://schemas.microsoft.com/winfx/2006/xaml/presentation" ,

        "ClassLibrary1" ,

        "ClassLibrary1" );


      object o = XamlReader .Parse("<SharedResourceDictionary Source=/"pack://application:,,,/KeyOfVictory;component/Dictionary1.xaml/"/>" , pc);

 


XmlnsDictionary屬性中儲存XML名稱空間和名稱空間字首的對應關係, XamlTypeMapper型別中儲存XML名稱空間和CLR名稱空間的對應關係, 並且還儲存了定義CLR名稱空間的程式集名稱, 需要注意的是程式集名稱就是程式集的partial name, 不需要有dll字尾。