我想實現以下內容:我有一個項目管理器,裏面有一個Item類。 Item類可以存儲兩個可能的視覺表示 - BitmapImage(位圖)和UserControl(矢量)。在不同的地方共享相同的矢量控件
然後,在遊戲中,我需要在所有可能發生的位置之間共享相同的圖像或矢量控件。例如,考慮地圖上的10棵樹,並且都指向相同的矢量控件。或者在某些情況下,這可以是位圖圖像源。
所以,問題是BitmapImage源可以在應用程序中由多個UIElements輕鬆共享。但是,當我嘗試共享矢量控件時,它失敗,並且說Child元素已經是另一個控件的一個子元素。我想知道如何以最好的方式組織這個。例如,將UserControl替換爲其他類型的控件或存儲,但是我需要確保它支持Storyboard動畫。
的代碼看起來是這樣的:
if (bi.item.BitmapSource != null)
{
Image previewImage = new Image();
previewImage.Source = bi.item.BitmapSource;
itemPane.ItemPreviewCanvas.Children.Add(previewImage);
} else
if (bi.item.VectorSource != null)
{
UserControl previewControl = bi.item.VectorSource;
itemPane.ItemPreviewCanvas.Children.Add(previewControl);
}
或者它是不可能在不同的地方共享相同的控制,又是什麼使一個複製或保存矢量數據的最佳方式的最佳途徑。
在此先感謝