2010-07-09 17 views

Odpowiedz

12

x: Klucz jest ważny tylko w słowniku zasobów i jest dodawany do słownika, x: Nazwa jest używana lokalnie i reprezentuje zmienną w klasie.

8

x:Name stosuje się nazwy elementów interfejsu użytkownika (np sterowania, panele itd), a x:Key służy do identyfikacji środki (które mogą być bardziej lub mniej cokolwiek) w ResourceDictionary.

To oznacza, że ​​nie można odwołać rzeczy w słowniku zasobów przy użyciu wartości x:Name:

<Grid> 
    <Grid.Resources> 
     <Style x:Name="StyleName" x:Key="StyleKey" /> 
    </Grid.Resources> 
    <Button Style="{StaticResource StyleName}" /> <!-- Will not work--> 
    <Button Style="{StaticResource StyleKey}" /> <!-- Will work --> 
</Grid> 

Możesz również zauważyć, że elementy, które nie są w słowniku zasobu nie może mieć atrybut x:Key:

<TextBox x:Key="TextBoxKey" /> <!-- Will not compile --> 
1

Tak, należy użyć klucza x: Key, aby przypisać klucz do zasobów w ResourceDictionary, lokalnie w sekcji zasobów dla elementu lub określonego ResourceDictionay. Ten klucz jest następnie używany do wyszukiwania zasobu za pośrednictwem {DynamicResource XXX} lub {StaticResource XXX}.

x: Nazwa służy do przypisania nazwy kontrolce w języku xaml. Może to zostać użyte do uzyskania dostępu do elementu w kodzie znajdującym się za plikiem, przy użyciu zwykłej składni lub przy użyciu wiązania ElementName wewnątrz pliku.

Powiązane problemy