共用方式為


x:Shared 屬性

更新:2007 年 11 月

設定為 false 時會修改 Windows Presentation Foundation (WPF) 資源擷取行為,這樣資源要求就會針對每個要求建立新的執行個體,而不是讓所有要求共用相同的執行個體。

XAML 屬性使用方式

<ResourceDictionary>
  <object x:Shared="false".../>
</ResourceDictionary>

備註

資源的預設 x:Shared 條件是 true。這個條件代表任何指定的資源要求一定會傳回相同執行個體。修改透過資源 API 傳回的物件 (例如 FindResource),或是直接修改 ResourceDictionary 內的物件,都會變更原始資源。如果該資源的參考是動態資源參考,該資源的消費者將取得變更的資源 (如果該資源的參考是靜態資源參考,XAML 處理時間過後的資源變更就無關緊要。如需靜態對動態資源參考的詳細資訊,請參閱資源概觀)。

指定 x:Shared="true" 是並不常見的情況,因為這本來已經是預設值。x:Shared 並沒有直接的程式碼對等用法。

一個使用 x:Shared="false" 的案例是當您定義 FrameworkElementFrameworkContentElement 衍生類別做為資源,並將項目資源引入內容模型時。x:Shared="false" 可以讓項目資源多次引入到同一個集合 (例如 UIElementCollection) 中。就算沒有 x:Shared="false",這還是合法的,因為集合會強制內容的唯一性。但是,x:Shared="false" 行為基本上會建立另一個相同的資源執行個體,而不會傳回同一個執行個體。

另一個使用 x:Shared="false" 的案例是當您使用動畫值的 Freezable 資源,但卻想要針對每個動畫修改資源。

"false" 的字串處理不會區分大小寫。

只有在下列條件下,x:Shared 才是合法的:

請參閱

概念

資源概觀

參考

ResourceDictionary

其他資源

基底項目