• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Xaml.XamlObjectWriter类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Xaml.XamlXmlReader类代码示例发布时间:2022-05-24
下一篇:
C# Threading.DispatcherTimer类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap