[英]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.