如何创建两个具有相同属性的对象 - 克隆不起作用

How to create two object with the same properties - Cloning not working

我必须创建两个具有相同属性的数据网格:

var dtg = new DataGrid
{
    Margin = new Thickness(10),
    EnableColumnVirtualization = false,
    EnableRowVirtualization = false,
    Background = Brushes.Transparent,
    Foreground = new SolidColorBrush(m_ExeCfg.GetForeground()),
};

然后是具有相同属性的 dtg2... 但 Datagrid dtg = dtg2 = {...} 是不允许的

因此我使用了这个克隆:

string dtgXaml = System.Windows.Markup.XamlWriter.Save(dtg);
StringReader stringReader = new StringReader(gridXaml);
System.Xml.XmlReader xmlReader = System.Xml.XmlReader.Create(stringReader);
DataGrid dtg2 = (DataGrid)System.Windows.Markup.XamlReader.Load(xmlReader);

那么如何创建两个具有完全相同属性的对象?

看起来您正在序列化为 dtgXaml,但从未使用过。 相反,您使用一些 gridXaml 变量。

 string dtgXaml = System.Windows.Markup.XamlWriter.Save(dtg);
 StringReader stringReader = new StringReader(gridXaml);