2013-10-17 61 views
2

我目前工作包含的項目列表中的應用,每一個項目代表從各種來源(推特,臉譜,電子郵件等..)WPF路徑複製

每個發送到用戶的消息項目包含一個小矢量圖形(路徑),可幫助用戶識別消息的來源。

enter image description here

爲了得到這個矢量圖像正確地出現在我打上它與X資源的每個項目:共享=「false」屬性導致路徑的新實例被創建每一條消息。

這一切工作正常,但我不禁感覺創建同一路徑的多個實例似乎是一種浪費。我無法使用位圖,因爲項目更改大小,因此需要使用矢量圖像。

我的問題是這樣的:任何人都有更好的方式來展示從同一資源的多個路徑,而不必生成路徑對象的新實例?

+4

考慮將Path的幾何存儲爲資源,然後從各個Path實例的Data屬性引用該資源。 –

+0

使用.Net Reflector它看起來像形狀(基礎爲路徑)克隆幾何,如果您將它的Stretch屬性設置爲除System.Windows.Media.Stretch.None之外的任何其他類型。我想你的想法意味着我們只能得到每個消息的1份數據而不是2份。 – Andy

回答

0

我不認爲這是一個糟糕的設計或實施。 PathUIElement,因此只能有一個Parent(這就是make x:Shared = false的原因),並且如果要使用矢量圖形,則必須使用Path。 因此,每個父母都將擁有自己的子女UIElement,即此處的路徑。

想一想,如果我有一個窗體有多個輸入控件用於數據輸入並且有多個按鈕來保存每組數據。在這種情況下,我將擁有很多兒童按鈕的實例,即使他們都只是在說「保存」它們。所以我不認爲具有相似幾何體的Path的多個實例是一個問題