簡體   English   中英

克隆自定義 UserControl C# WPF - Easiet 方式(淺拷貝)

[英]Clone a custom UserControl C# WPF - Easiet Way (Shallow Copy)

嗨,我想克隆(淺克隆)一個自定義用戶控件,例如:

ucButton uc;
ucButton uc2;
uc = uc2;

當我這樣做時,編譯器也希望我從畫布中刪除舊實例 (uc)。

使用:

Canvas1.Children.Add(uc)

Canvas2.Children.Add(uc2)

有什么建議?

提前致謝

可悲的是,我認為沒有一種簡單的方法可以實現這一點:如果您的用戶控件包含其他引用類型,是否應該使它們通用,或者也應該復制它們?

此外,您將無法獲得 UserControl 上附加依賴項屬性的完整列表。

Personnaly,我會將我的用戶控件封裝在我的 xaml 資源中的 DataTemplate 中,並根據需要從DataTemplate創建用戶控件的新實例。

<DataTemplate x:Key="ucButton">
  <myControls:ucButton ... />
</DataTemplate>

在您的代碼中,從資源中獲取模板,然后加載內容

var uc = template.LoadContent() as UserControl;
var uc2 = template.LoadContent() as UserControl;

我明白這不是你想要做的。 如果從 xaml 實例化不是一個選項,我的解決方案將不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM