Freezable.GetCurrentValueAsFrozen 方法
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用目前屬性值,建立 Freezable 的凍結複本。 因為複本已凍結,所以會以傳址方式複製任何凍結子物件。
public:
System::Windows::Freezable ^ GetCurrentValueAsFrozen();
C#
public System.Windows.Freezable GetCurrentValueAsFrozen ();
member this.GetCurrentValueAsFrozen : unit -> System.Windows.Freezable
Public Function GetCurrentValueAsFrozen () As Freezable
Freezable 的凍結複本。 複本的 IsFrozen 屬性是設定為 true
。
使用此方法類似于使用 CloneCurrentValue 建立複本,然後使用 方法將它 Freeze 凍結。
GetAsFrozen和 GetCurrentValueAsFrozen 方法可以改善複製效能,因為它們不會複製 Freezable 已經凍結的子物件;它們只會依參考複製它們。
下表摘要說明 和 GetCurrentValueAsFrozen 方法之間的差異 GetAsFrozen 。
動作 | GetAsFrozen 方法行為 | GetCurrentValueAsFrozen 方法行為 |
---|---|---|
複製具有運算式的相依性屬性 | 方法會擲回 , InvalidOperationException 因為它無法 Freeze 傳回 屬性。 | 會複製運算式的目前值,但不會複製運算式本身。 |
複製動畫相依性屬性 | 複製屬性的基底 (非動畫) 值。 不會複製動畫。 | 屬性目前的動畫值會複製。 不會複製動畫。 |
請注意,不會複製未設定屬性,也不會複製唯讀屬性。
若要建立未凍結的 Freezable 複本,請使用 CloneCurrentValue 方法。
這個方法會使用虛擬 GetCurrentValueAsFrozenCore(Freezable) 方法來產生複製品。
產品 | 版本 |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
Windows Desktop | 3.0, 3.1, 5, 6, 7 |