根據這篇文章deep copying,我試圖做一個我的userControl的深層副本。 所以在我的主視圖模型我有:深拷貝userControl
public object Clone()
{
var cloneControl = (ISelectableViewModel) SelectedObject; //SelectedObject it's current userControl
return cloneControl.Clone();
}
我的用戶也可在室內簡單的用戶控件。因此,對於用戶控件Clone方法的代碼是:
public override object Clone()
{
var partikel1Clone = (UserControl05Partikel1ViewModel) MemberwiseClone();
partikel1Clone.UserControl1.ViewModel = (ISelectableViewModel) UserControl1.ViewModel.Clone();
return partikel1Clone;
}
而且我簡單的用戶控件的克隆方法是:
的問題是,我的克隆對象的變化,當我改變主要對象。任何想法,我錯了嗎?
Memberwise克隆只有一個深度。 –
@亨克是的,但我打電話給我的內部控制調用克隆方法,調用另一個Memberwise – Sasha
我會認爲控件(UIElements)不克不及...你不擁有源,並且在這裏有15層的繼承。 –