2009-04-28 13 views

Odpowiedz

38

żeby zatrzymać Freezable obiekt zadeklarowane w znacznikach, użyć atrybutu Freeze zdefiniowane w przestrzeni nazw XML http://schemas.microsoft.com/winfx/2006/xaml/presentation/options.

W poniższym przykładzie SolidColorBrush jest zadeklarowany jako zasób strony i zamrożony. Następnie służy do ustawienia tła przycisku.

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:po="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="po"> 

    <Page.Resources> 
    <!-- This brush is frozen --> 
    <SolidColorBrush x:Key="MyBrush" po:Freeze="True" Color="Red" /> 
    </Page.Resources> 

    <!-- Use the frozen brush --> 
    <Button Background="{StaticResource MyBrush}">Click Me</Button> 

</Page> 

Źródło: Freezable Objects Overview

+2

Czy ostatnim atrybutem nie powinien być 'mc: Ignorable =" po "'? – CodeNaked

+0

@CodeNaked, myślę, że masz rację. Edytowane. –

9

Dodaj to do deklaracji przestrzeni nazw XAML:

xmlns:po="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="po" 

następnie w swoim freezable obiektów, to ten atrybut

po:Freeze="True" 
+0

Skąd nazw do "MC pochodzi? –

+0

Och, myślę, że to przegapiłem. Naprawiono to teraz. – Botz3000

Powiązane problemy