Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Silverlight中序列化控件_C#_Xaml_Silverlight_Serialization_Xmlserializer - Fatal编程技术网

C# 在Silverlight中序列化控件

C# 在Silverlight中序列化控件,c#,xaml,silverlight,serialization,xmlserializer,C#,Xaml,Silverlight,Serialization,Xmlserializer,我正在尝试在Silverlight 5中将控件序列化为XAML。 基本上,我使用以下代码: var ignore = new XmlAttributes(); attrs.XmlIgnore = true; var overrides = new XmlAttributeOverrides(); overrides.Add(typeof(FrameworkElement), "Resources", ignore); var serializer = new XmlSerializer(co

我正在尝试在Silverlight 5中将控件序列化为XAML。 基本上,我使用以下代码:

var ignore = new XmlAttributes();
attrs.XmlIgnore = true;

var overrides = new XmlAttributeOverrides();
overrides.Add(typeof(FrameworkElement), "Resources", ignore);

var serializer = new XmlSerializer(control.GetType(), overrides);
然而,当我尝试实际序列化控件时,我得到了一个关于实现IDictionary的Resources属性的异常,尽管我特别将其标记为忽略。
我做错了什么?还有其他方法吗?

我的直觉是,资源属性不会成为您的最后一个问题,尽管我可能错了。你能解释一下你想要序列化框架元素的场景是什么吗?当然,谢谢你的快速回复!我正在尝试构建一个ContentTemplate控件,其中包含一个作为参数传递的控件。我想构建一个XAML字符串,稍后可以将其解析为ContentTemplate.Hmmm,这很棘手。我想你想要一个复制品?我会建议使用
XamlWriter
XamlReader
,但我认为Silverlight中不存在
XamlWriter
,尽管已经尝试过:。是的,我想要一个克隆人。我真正想要的是一种以编程方式使用内容创建ControlTemplates的方法。除了从XAML解析之外,找不到向ControlTemplate添加内容的方法。这对您的任务来说不是个好兆头:“…在Silverlight中,控件模板化完全是通过定义XAML来完成的。FrameworkTemplate和ControlTemplate的API表面不适用于并且不能通过在代码中创建ControlTemplate来定义控件的模板…(来自中的备注部分)