Udostępnij za pośrednictwem


PresentationOptions:FreezeAttribute

Ustawia stan IsFrozen na true w elemencie zawierającym Freezable. Domyślne zachowanie Freezable bez określonego atrybutu PresentationOptions:Freeze polega na tym, że IsFrozen jest false w czasie ładowania i zależy od ogólnego zachowania Freezable w czasie wykonywania.

Użycie atrybutu XAML

<object  
  xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"  
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
  mc:Ignorable="PresentationOptions">  
    <freezableElement PresentationOptions:Freeze="true"/>  
</object>  

Wartości XAML

Wartość Opis
PresentationOptions Prefiks przestrzeni nazw XML, który może być dowolnym prawidłowym ciągiem prefiksu zgodnie ze specyfikacją XML 1.0. Prefiks PresentationOptions jest używany do celów identyfikacji w tej dokumentacji.
freezableElement Element, który generuje instancję dowolnej klasy pochodnej Freezable.

Uwagi

Atrybut Freeze jest jedynym atrybutem lub innym elementem programowania zdefiniowanym w przestrzeni nazw http://schemas.microsoft.com/winfx/2006/xaml/presentation/options XML. Atrybut Freeze istnieje w tej specjalnej przestrzeni nazw, aby można było go wyznaczyć jako nie do zignorowania, używając mc:Ignorable Attribute w ramach deklaracji elementu głównego. Powodem, dla którego Freeze musi być możliwe zignorowanie, jest to, że nie wszystkie implementacje procesora XAML mogą zablokować Freezable w czasie ładowania; ta funkcja nie jest częścią specyfikacji XAML.

Możliwość przetwarzania atrybutu Freeze jest specjalnie wbudowana w procesor XAML, który przetwarza XAML dla skompilowanych aplikacji. Atrybut nie jest obsługiwany przez żadną klasę, a składnia atrybutów nie jest rozszerzalna ani modyfikowalna. Jeśli implementujesz własny procesor XAML, możesz wybrać równoległe zachowanie zamrażania procesora XAML WPF podczas przetwarzania atrybutu Freeze na elementach Freezable w czasie ładowania.

Każda wartość atrybutu Freeze inna niż true (nie uwzględnia wielkości liter) generuje błąd czasu ładowania. (Określenie atrybutu Freeze jako false nie jest błędem, ale jest to już ustawienie domyślne, więc ustawienie false nic nie robi).

Zobacz też