本文整理汇总了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();
}
}
}
示例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;
}