当前位置: 首页>>代码示例>>C#>>正文


C# Xaml.XamlObjectWriter类代码示例

本文整理汇总了C#中System.Xaml.XamlObjectWriter的典型用法代码示例。如果您正苦于以下问题:C# System.Xaml.XamlObjectWriter类的具体用法?C# System.Xaml.XamlObjectWriter怎么用?C# System.Xaml.XamlObjectWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


System.Xaml.XamlObjectWriter类属于命名空间,在下文中一共展示了System.Xaml.XamlObjectWriter类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InitializeComponent

 public void InitializeComponent() {
     if ((this._contentLoaded == true)) {
         return;
     }
     this._contentLoaded = true;
     string resourceName = this.FindResource();
     System.IO.Stream initializeXaml = typeof(状态机流程).Assembly.GetManifestResourceStream(resourceName);
     System.Xml.XmlReader xmlReader = null;
     System.Xaml.XamlReader reader = null;
     System.Xaml.XamlObjectWriter objectWriter = null;
     try {
         System.Xaml.XamlSchemaContext schemaContext = XamlStaticHelperNamespace._XamlStaticHelper.SchemaContext;
         xmlReader = System.Xml.XmlReader.Create(initializeXaml);
         System.Xaml.XamlXmlReaderSettings readerSettings = new System.Xaml.XamlXmlReaderSettings();
         readerSettings.LocalAssembly = System.Reflection.Assembly.GetExecutingAssembly();
         readerSettings.AllowProtectedMembersOnRoot = true;
         reader = new System.Xaml.XamlXmlReader(xmlReader, schemaContext, readerSettings);
         System.Xaml.XamlObjectWriterSettings writerSettings = new System.Xaml.XamlObjectWriterSettings();
         writerSettings.RootObjectInstance = this;
         writerSettings.AccessLevel = System.Xaml.Permissions.XamlAccessLevel.PrivateAccessTo(typeof(状态机流程));
         objectWriter = new System.Xaml.XamlObjectWriter(schemaContext, writerSettings);
         System.Xaml.XamlServices.Transform(reader, objectWriter);
     }
     finally {
         if ((xmlReader != null)) {
             ((System.IDisposable)(xmlReader)).Dispose();
         }
         if ((reader != null)) {
             ((System.IDisposable)(reader)).Dispose();
         }
         if ((objectWriter != null)) {
             ((System.IDisposable)(objectWriter)).Dispose();
         }
     }
 }
开发者ID:blacklensama,项目名称:1709,代码行数:35,代码来源:状态机.g.cs

示例2: LoadDictionary

            private ResourceDictionary LoadDictionary(Assembly assembly, string assemblyName, string resourceName, bool isTraceEnabled)
            { 
                ResourceDictionary dictionary = null;

                // Create the resource manager that will load the byte array
                ResourceManager rm = new ResourceManager(assemblyName + ".g", assembly); 

                resourceName = resourceName + ".baml"; 
                // Load the resource stream 
                Stream stream = null;
                try 
                {
                    stream = rm.GetStream(resourceName, CultureInfo.CurrentUICulture);
                }
                // There is no ResourceManager.HasManifest in order to detect this case before an exception is thrown. 
                // Likewise, there is no way to know if loading a resource will fail prior to loading it.
                // So, the exceptions must be caught. stream will continue to be null and handled accordingly later. 
#pragma warning disable 6502 

                catch (MissingManifestResourceException) 
                {
                    // No usable resources in the assembly
                }
#if !DEBUG 
                catch (InvalidOperationException)
                { 
                    // Object not stored correctly 
                }
#endif 

#pragma warning restore 6502

                if (stream != null) 
                {
                    Baml2006ReaderSettings settings = new Baml2006ReaderSettings(); 
                    settings.OwnsStream = true; 
                    settings.LocalAssembly = assembly;
 
                    Baml2006Reader bamlReader = new Baml2006Reader(stream, new Baml2006SchemaContext(settings.LocalAssembly), settings);

                    System.Xaml.XamlObjectWriterSettings owSettings = XamlReader.CreateObjectWriterSettingsForBaml();
                    if (assembly != null) 
                    {
                        owSettings.AccessLevel = XamlAccessLevel.AssemblyAccessTo(assembly); 
                    } 
                    System.Xaml.XamlObjectWriter writer = new System.Xaml.XamlObjectWriter(bamlReader.SchemaContext, owSettings);
 
                    if (owSettings.AccessLevel != null)
                    {
                        XamlLoadPermission loadPermission = new XamlLoadPermission(owSettings.AccessLevel);
                        loadPermission.Assert(); 
                        try
                        { 
                            System.Xaml.XamlServices.Transform(bamlReader, writer); 
                        }
                        finally 
                        {
                            CodeAccessPermission.RevertAssert();
                        }
                    } 
                    else
                    { 
                        System.Xaml.XamlServices.Transform(bamlReader, writer); 
                    }
                    dictionary = (ResourceDictionary)writer.Result; 

                    if (isTraceEnabled && (dictionary != null))
                    {
                        EventTrace.EventProvider.TraceEvent(EventTrace.Event.WClientResourceBamlAssembly, 
                                                            EventTrace.Keyword.KeywordXamlBaml, EventTrace.Level.Verbose,
                                                            assemblyName); 
                    } 
                }
 
                return dictionary;
            }
开发者ID:sjyanxin,项目名称:WPFSource,代码行数:76,代码来源:SystemResources.cs


注:本文中的System.Xaml.XamlObjectWriter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。