任何人都有一个很好的示例,该示例如何深度克隆WPF对象并保留数据绑定?
标记的答案是第一部分。
第二部分是您必须创建一个ExpressionConverter并将其注入序列化过程。有关详细信息,请参见:http : //www.codeproject.com/KB/WPF/xamlwriterandbinding.aspx?fid= 1428301& df= 90& mpp=25&noise=3&sort= Position& view= Quick& select=2801571
我做过的最简单的方法是使用XamlWriter将WPF对象保存为字符串。Save方法将序列化对象及其逻辑树中的所有子对象。现在,您可以创建一个新对象,并使用XamlReader加载它。
例如:将对象写入xaml(假设该对象是Grid控件):
string gridXaml = XamlWriter.Save(myGrid);
将其加载到新对象中:
StringReader stringReader = new StringReader(gridXaml); XmlReader xmlReader = XmlReader.Create(stringReader); Grid newGrid = (Grid)XamlReader.Load(xmlReader);