2011-01-04 10 views
5

Desidero dichiarare alcuni dati nella mia applicazione Silverlight per Windows Phone 7. Non sono sicuro di cosa sia la sintassi.Silverlight: dichiarazione di una raccolta di dati in XAML?

Ad esempio:

public class Person 
{ 
     public string Name {get; set;} 
     public int Age {get; set;} 
} 

<Application.Resources> 
    <Data x:Name="People"> 
     <Person Age="2" Name="Sam" /> 
     <!-- ... --> 
    </Data> 
</Application.Resources> 

Ovviamente Data non è un tag valido. Cosa voglio qui?

+0

Non credo che XAML è pensato per questo genere di cose. –

risposta

6

Sarà necessario definire un tipo di contenitore prima di tutto: -

using System.Collections.ObjectModel; 

... 

public class People : ObservableCollection<Person> { } 

È quindi necessario aggiungere lo spazio dei nomi che il vostro popolo/classi persona sono presenti dentro al Xaml typicall questo sarebbe simile: -

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:local="clr-namespace:SilverlightApplication1" 
     x:Class="SilverlightApplication1.App" 
     > 

Basta sostituire "SilverlightApplication1" con lo spazio dei nomi dell'applicazione.

ora si può fare: -

 <Application.Resources> 
     <People x:Name="People"> 
      <Person Age="2" Name="Sam" /> 
      <Person Age="11" Name="Jane" /> 
     </People> 
    </Application.Resources> 
+1

Dichiarare che la classe 'People' sia prolissa (invece di usare solo un' ObservableCollection'), ma funziona. –

+0

@Rosarch: Verbose? la sua unica riga di codice. – AnthonyWJones

Problemi correlati