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ż
.NET Desktop feedback