2010-07-09 29 views

risposta

12

x: la chiave è valida solo all'interno di un dizionario di risorse e viene aggiunta a un dizionario, x: il nome viene utilizzato localmente e rappresenta una variabile all'interno della classe.

8

x:Name viene utilizzato per denominare elementi dell'interfaccia utente (ad esempio controlli, pannelli ecc.), Mentre x:Key viene utilizzato per identificare le risorse (che possono essere più o meno tutte) all'interno di ResourceDictionary.

Questo significa che non è possibile fare riferimento le cose in un dizionario risorse utilizzando un valore 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> 

Noterete anche che gli elementi che non sono all'interno di un dizionario risorse non possono avere un attributo x:Key:

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

Sì, si utilizzerà x: Chiave per assegnare una chiave alle risorse all'interno di un ResourceDictionary, o localmente nella sezione delle risorse per un elemento o un ResourceDictionay specifico. Questa chiave viene quindi utilizzata per cercare la risorsa, tramite {DynamicResource XXX} o {StaticResource XXX}.

x: Il nome viene utilizzato per assegnare un nome a un controllo in xaml. Questo può quindi essere usato per accedere all'elemento nel codice dietro il file, usando la sintassi usuale o usando un legame ElementName all'interno del file.

Problemi correlati