2013-10-23 65 views
0

當然,WPF中的Freezable類和Visual類具有完全不同的目的。我的問題更多地關注實現Visual類或Freezable類的對象之間的區別。因爲它們通常都與圖形問題有關,所以我感到困惑。WPF:Freezable和Visual之間的區別

那麼,以圖形表示和Visual的方式,Freezable的目的究竟是什麼?

回答

1

Visual實現了2D對象的概念,通常需要在大致矩形的區域中進行視覺呈現。 Visual的實際渲染髮生在其他類中(它不是獨立的),但Visual類提供了一種已知類型,可供各級渲染進程使用。 Visual implements命中測試,但不會公開報告命中測試肯定的事件(這些屬於UIElement)。有關更多信息,請參閱Visual Layer Programming。

http://msdn.microsoft.com/en-us/library/ms753209(v=vs.110).aspx

可凍結通過提供手段當需要或期望性能的原因不可變的對象,以生成所述對象的副本模擬了一個可變對象不變性。 Freezable類型爲某些圖形元素(如幾何圖形和畫筆以及動畫)提供了一個通用基礎。值得注意的是,一個Freezable不是一個視覺;當應用Freezable來填充另一個對象的屬性值時,它可以保存變成子屬性的屬性,這些子屬性可能會影響渲染。有關更多信息,請參閱Freezable對象概述。

http://msdn.microsoft.com/en-us/library/ms750509(v=vs.110).aspx

+0

謝謝你的答案,dev刺蝟。即使這並不是我正在尋找的整體解釋。我知道我的問題不是黑色和白色=)。 – Sam

+0

它是一個廣泛的話題。雖然不確定你確實需要什麼。嘗試給我們一個確切的問題來解決,而不是像這樣的討論一樣主題 –

+0

是的,你是對的。不過,我想我找到了我正在尋找的東西。 Visual(間接封裝)的指令(DUCE.IResource)由Freezables實現,例如,由抽象繪圖類。我將嘗試通過UML圖表將這個模式可視化並將其發佈到此處。 – Sam