本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

Freezable 類別

 

定義具有可修改狀態和唯讀 (凍結) 狀態的物件。 衍生自 Freezable 的類別可以提供詳細變更告知、可以設為不變的,而且可以自我複製。

命名空間:   System.Windows
組件:  WindowsBase (於 WindowsBase.dll)

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Freezable
        System.Windows.Controls.Ribbon.RibbonControlSizeDefinition
        System.Windows.Controls.Ribbon.RibbonGroupSizeDefinitionBase
        System.Windows.Input.InputBinding
        System.Windows.Media.Animation.Animatable
        System.Windows.Media.Animation.BooleanKeyFrame
        System.Windows.Media.Animation.BooleanKeyFrameCollection
        System.Windows.Media.Animation.ByteKeyFrame
        System.Windows.Media.Animation.ByteKeyFrameCollection
        System.Windows.Media.Animation.CharKeyFrame
        System.Windows.Media.Animation.CharKeyFrameCollection
        System.Windows.Media.Animation.ColorKeyFrame
        System.Windows.Media.Animation.ColorKeyFrameCollection
        System.Windows.Media.Animation.DecimalKeyFrame
        System.Windows.Media.Animation.DecimalKeyFrameCollection
        System.Windows.Media.Animation.DoubleKeyFrame
        System.Windows.Media.Animation.DoubleKeyFrameCollection
        System.Windows.Media.Animation.EasingFunctionBase
        System.Windows.Media.Animation.Int16KeyFrame
        System.Windows.Media.Animation.Int16KeyFrameCollection
        System.Windows.Media.Animation.Int32KeyFrame
        System.Windows.Media.Animation.Int32KeyFrameCollection
        System.Windows.Media.Animation.Int64KeyFrame
        System.Windows.Media.Animation.Int64KeyFrameCollection
        System.Windows.Media.Animation.KeySpline
        System.Windows.Media.Animation.MatrixKeyFrame
        System.Windows.Media.Animation.MatrixKeyFrameCollection
        System.Windows.Media.Animation.ObjectKeyFrame
        System.Windows.Media.Animation.ObjectKeyFrameCollection
        System.Windows.Media.Animation.Point3DKeyFrame
        System.Windows.Media.Animation.Point3DKeyFrameCollection
        System.Windows.Media.Animation.PointKeyFrame
        System.Windows.Media.Animation.PointKeyFrameCollection
        System.Windows.Media.Animation.QuaternionKeyFrame
        System.Windows.Media.Animation.QuaternionKeyFrameCollection
        System.Windows.Media.Animation.RectKeyFrame
        System.Windows.Media.Animation.RectKeyFrameCollection
        System.Windows.Media.Animation.Rotation3DKeyFrame
        System.Windows.Media.Animation.Rotation3DKeyFrameCollection
        System.Windows.Media.Animation.SingleKeyFrame
        System.Windows.Media.Animation.SingleKeyFrameCollection
        System.Windows.Media.Animation.SizeKeyFrame
        System.Windows.Media.Animation.SizeKeyFrameCollection
        System.Windows.Media.Animation.StringKeyFrame
        System.Windows.Media.Animation.StringKeyFrameCollection
        System.Windows.Media.Animation.ThicknessKeyFrame
        System.Windows.Media.Animation.ThicknessKeyFrameCollection
        System.Windows.Media.Animation.Vector3DKeyFrame
        System.Windows.Media.Animation.Vector3DKeyFrameCollection
        System.Windows.Media.Animation.VectorKeyFrame
        System.Windows.Media.Animation.VectorKeyFrameCollection
        System.Windows.Media.DoubleCollection
        System.Windows.Media.ImageMetadata
        System.Windows.Media.Int32Collection
        System.Windows.Media.Media3D.GeneralTransform2DTo3D
        System.Windows.Media.Media3D.GeneralTransform3DTo2D
        System.Windows.Media.Media3D.Point3DCollection
        System.Windows.Media.Media3D.Vector3DCollection
        System.Windows.Media.PointCollection
        System.Windows.Media.VectorCollection
        System.Windows.Shell.TaskbarItemInfo
        System.Windows.Shell.ThumbButtonInfo
        System.Windows.Shell.WindowChrome

public abstract class Freezable : DependencyObject

名稱描述
System_CAPS_protmethodFreezable()

初始化的新執行個體 Freezable 衍生的類別。

名稱描述
System_CAPS_pubpropertyCanFreeze

取得值,指出是否可以將物件設為不可修改。

System_CAPS_pubpropertyDependencyObjectType

取得 DependencyObjectType 包裝 CLR 這個執行個體的型別。 (繼承自 DependencyObject。)

System_CAPS_pubpropertyDispatcher

取得 DispatcherDispatcherObject 相關聯。(繼承自 DispatcherObject。)

System_CAPS_pubpropertyIsFrozen

取得值,該值表示物件目前是否可修改。

System_CAPS_pubpropertyIsSealed

取得值,指出是否這個執行個體目前密封 (唯讀)。(繼承自 DependencyObject。)

名稱描述
System_CAPS_pubmethodCheckAccess()

判斷呼叫的執行緒是否有存取此 DispatcherObject(繼承自 DispatcherObject。)

System_CAPS_pubmethodClearValue(DependencyProperty)

清除屬性的區域數值。 要清除的屬性是由 DependencyProperty 識別項所指定。(繼承自 DependencyObject。)

System_CAPS_pubmethodClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。 要清除的屬性是由 DependencyPropertyKey 所指定。(繼承自 DependencyObject。)

System_CAPS_pubmethodClone()

建立這個 Freezable 的可修改複製,製作這個物件值的深層複製。 當複製這個物件的相依性屬性時,這個方法會複製運算式 (但可能已不再解析),但不會複製動畫或其目前值。

System_CAPS_protmethodCloneCore(Freezable)

使用基底 (非動畫) 屬性值,將執行個體設為指定 Freezable 的複製品 (深層複製)。

System_CAPS_pubmethodCloneCurrentValue()

建立的可修改複製品 (deep copy) Freezable 使用其目前的值。

System_CAPS_protmethodCloneCurrentValueCore(Freezable)

使用目前的屬性值,讓執行個體成為指定之 Freezable 的可修改複本 (深層複本)。

System_CAPS_pubmethodCoerceValue(DependencyProperty)

強制轉型所指定相依性屬性的值。 完成方式是叫用存在於呼叫 DependencyObject 之相依性屬性的屬性中繼資料中所指定的任何 CoerceValueCallback 函式。(繼承自 DependencyObject。)

System_CAPS_protmethodCreateInstance()

初始化 Freezable 類別的新執行個體。

System_CAPS_protmethodCreateInstanceCore()

在衍生類別中實作時,建立的新執行個體 Freezable 衍生的類別。

System_CAPS_pubmethodEquals(Object)

決定是否提供 DependencyObject 相當於目前 DependencyObject(繼承自 DependencyObject。)

System_CAPS_protmethodFinalize()

在記憶體回收開始前,允許物件嘗試釋放資源,並執行其他清除作業。(繼承自 Object。)

System_CAPS_pubmethodFreeze()

將目前的物件設為不可修改,並將其 IsFrozen 屬性設定為 true

System_CAPS_protmethodSystem_CAPS_staticFreeze(Freezable, Boolean)

如果 isChecking 參數是 true, ,這個方法會指出是否指定 Freezable 可以設為不可修改。 如果 isChecking 參數是 false, ,這個方法會嘗試讓指定 Freezable 無法修改,並指出作業是否成功。

System_CAPS_protmethodFreezeCore(Boolean)

可讓 Freezable 物件無法修改或測試是否可以讓它成為無法修改。

System_CAPS_pubmethodGetAsFrozen()

建立的凍結的複本 Freezable, ,使用基底 (非動畫) 的屬性值。 因為複本已凍結,任何凍結子物件會傳址方式複製。

System_CAPS_protmethodGetAsFrozenCore(Freezable)

讓工作執行個體的指定之凍結的複本 Freezable 使用基底 (非動畫) 的屬性值。

System_CAPS_pubmethodGetCurrentValueAsFrozen()

建立的凍結的複本 Freezable 使用目前的屬性值。 因為複本已凍結,任何凍結子物件會傳址方式複製。

System_CAPS_protmethodGetCurrentValueAsFrozenCore(Freezable)

將目前執行個體設為所指定 Freezable 的凍結複本。 如果物件具有動畫相依性屬性,則會複製其目前的動畫值。

System_CAPS_pubmethodGetHashCode()

取得這個 DependencyObject 的雜湊碼。(繼承自 DependencyObject。)

System_CAPS_pubmethodGetLocalValueEnumerator()

建立特殊的列舉值來判斷哪些相依性屬性有在本機設定值,這個 DependencyObject(繼承自 DependencyObject。)

System_CAPS_pubmethodGetType()

取得目前執行個體的 Type(繼承自 Object。)

System_CAPS_pubmethodGetValue(DependencyProperty)

傳回 DependencyObject 的這個執行個體上之相依性屬性的目前有效值。(繼承自 DependencyObject。)

System_CAPS_pubmethodInvalidateProperty(DependencyProperty)

指定相依性屬性的有效值會重新評估(繼承自 DependencyObject。)

System_CAPS_protmethodMemberwiseClone()

建立目前 Object 的淺層複製。(繼承自 Object。)

System_CAPS_protmethodOnChanged()

當呼叫目前 Freezable 物件遭到修改。

System_CAPS_protmethodOnFreezablePropertyChanged(DependencyObject, DependencyObject)

可確保適當的內容指標,會建立為 DependencyObjectType 剛設定的資料成員。

System_CAPS_protmethodOnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

這個成員支援 Windows Presentation Foundation (WPF) 基礎結構,但是您不可以從程式碼直接使用它。

System_CAPS_protmethodOnPropertyChanged(DependencyPropertyChangedEventArgs)

覆寫 OnPropertyChangedDependencyObject 實作也可以叫用任何 Changed 處理常式,以回應類型 Freezable 的變更相依性屬性。(覆寫 DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs)。)

System_CAPS_pubmethodReadLocalValue(DependencyProperty)

傳回相依性屬性的區域數值 (如果存在)。(繼承自 DependencyObject。)

System_CAPS_protmethodReadPreamble()

可確保 Freezable 正在從有效的執行緒存取。 繼承者 Freezable 必須呼叫這個方法的任何開頭 API 讀取不相依性屬性的資料成員。

System_CAPS_pubmethodSetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不需要變更其值來源。(繼承自 DependencyObject。)

System_CAPS_pubmethodSetValue(DependencyProperty, Object)

設定相依性屬性的本機值 (由相依性屬性的識別項所指定)。(繼承自 DependencyObject。)

System_CAPS_pubmethodSetValue(DependencyPropertyKey, Object)

設定唯讀相依性屬性的本機值 (由相依性屬性的 DependencyPropertyKey 識別項所指定)。(繼承自 DependencyObject。)

System_CAPS_protmethodShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示序列化程序是否應該序列化所提供相依性屬性的值。(繼承自 DependencyObject。)

System_CAPS_pubmethodToString()

傳回代表目前物件的字串。(繼承自 Object。)

System_CAPS_pubmethodVerifyAccess()

會強制執行的呼叫的執行緒必須存取這個DispatcherObject(繼承自 DispatcherObject。)

System_CAPS_protmethodWritePostscript()

引發 FreezableChanged 事件,並叫用其 OnChanged 方法。 在任何 API 修改未以相依性屬性儲存的類別成員之後,衍生自 Freezable 的類別應該在 API 的結尾呼叫這個方法。

System_CAPS_protmethodWritePreamble()

確認 Freezable 不會凍結,存取從有效的執行緒內容。 Freezable 繼承者應該呼叫這個方法的任何開頭 API 寫入不是相依性屬性的資料成員。

名稱描述
System_CAPS_pubeventChanged

發生於當 Freezable 或修改它所包含的物件。

Freezable 類別會提供特殊功能,可協助改善應用程式效能,當使用很難修改或複製的物件。 範例的 Freezable 物件包括下列︰

類別衍生自 Freezable 還享有下列功能︰

  • 特殊狀態︰ 唯讀 (凍結) 狀態和可寫入狀態。

  • 執行緒安全︰ 凍結 Freezable 物件可以在執行緒之間共用。

  • 詳細的變更通知︰ 不同於其他 DependencyObject 物件, Freezable 子屬性值變更時,物件會提供變更通知。

  • 簡單的複製︰ Freezable 類別已實作深層複製程式碼會產生的數種方法。

如需使用和建立您自己 Freezable 物件,請參閱 Freezable 物件概觀

.NET Framework
自 3.0 起供應

任何公用 static 此型別成員都是安全執行緒。 不保證任何執行個體成員是安全執行緒。

IsFrozen 屬性是 false, 、 Freezable 可以存取物件,只會從其建立所在的執行緒。 嘗試存取其他執行緒會擲回從 InvalidOperationException Dispatcher.InvokeDispatcher.BeginInvoke 方法來封送處理至正確的執行緒可以提供支援。

當其 IsFrozen 屬性是 true, ,Freezable 物件是無限制執行緒。 如需詳細資訊,請參閱 Freezable 物件概觀

回到頁首
顯示: