Freezable.CloneCurrentValueCore(Freezable) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Maakt het exemplaar een wijzigbare kloon (diepe kopie) van de opgegeven Freezable met behulp van de huidige eigenschapswaarden.
protected:
virtual void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCurrentValueCore(System.Windows.Freezable sourceFreezable);
abstract member CloneCurrentValueCore : System.Windows.Freezable -> unit
override this.CloneCurrentValueCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCurrentValueCore (sourceFreezable As Freezable)
Parameters
Opmerkingen
Deze methode wordt aangeroepen door de CloneCurrentValue methode en mag niet rechtstreeks vanuit uw code worden aangeroepen, behalve bij het aanroepen van de basis-implementatie tijdens het overschrijven van deze methode. Als u een wijzigbare kopie van het huidige object wilt maken, roept CloneCurrentValue u deze methode aan in plaats van deze methode rechtstreeks aan te roepen.
Notities voor overnemers
Als u afgeleid bent van Freezable, moet u deze methode mogelijk overschrijven. Redenen om te overschrijven zijn onder andere:
Uw afgeleide klasse bevat gegevens die niet beschikbaar zijn via afhankelijkheidseigenschappen.
Uw afgeleide klasse moet extra initialisatiewerkzaamheden uitvoeren die niet kunnen worden uitgevoerd door simpelweg te overschrijven CreateInstanceCore(). Dit is bijvoorbeeld van toepassing als uw afgeleide klasse implementeert ISupportInitialize.
Klassen die al hun gegevens opslaan in afhankelijkheidseigenschappen en die geen extra initialisatiewerkzaamheden hoeven uit te voeren, hoeven niet te worden overschreven CloneCurrentValueCore(Freezable).
Het is essentieel dat alle implementaties de basisuitvoering van deze methode aanroepen. Implementaties mogen alleen werk uitvoeren dat niet wordt uitgevoerd door de standaard implementatie. De standaard implementatie maakt diepe kopieën van alle schrijfbare, lokaal ingestelde eigenschappen. Als het object afhankelijkheidseigenschappen bevat met expressies (zoals een gegevensbinding), wordt de huidige waarde van de expressie gekopieerd, maar niet de expressie zelf.
Als het object afhankelijkheidseigenschappen met animatie heeft, wordt de huidige waarde van deze eigenschappen gekopieerd, maar de animaties niet.
Houd er rekening mee dat niet-insteleigenschappen niet worden gekopieerd en ook geen alleen-lezeneigenschappen zijn. Als een dergelijke eigenschap een standaardwaarde heeft die is geblokkeerd, blijft die eigenschapswaarde geblokkeerd Freezablein de anders wijzigbare kloon.
De volgende lijst bevat een overzicht van het verwachte gedrag voor deze methode.
De geproduceerde kopie bevat kopieën van alle Freezable subobjecten.
Niet-instel- en alleen-lezeneigenschappen worden niet gekopieerd.
Als een eigenschap is geanimeerd, wordt de huidige waarde gekopieerd, maar de animatie zelf niet.
Geen van deze subobjecten wordt geblokkeerd bij het maken.
De kopie zelf is niet geblokkeerd.