2011-01-04 7 views
5

Me gustaría declarar algunos datos en mi aplicación Silverlight para Windows Phone 7. No estoy seguro de cuál es la sintaxis.Silverlight: ¿Declarar una recopilación de datos en XAML?

Por ejemplo:

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> 

Obviamente Data no es una etiqueta válida. ¿Qué quiero aquí?

+0

No creo que XAML es para este tipo de cosas. –

Respuesta

6

Usted tendrá que definir un tipo de recipiente en primer lugar: -

using System.Collections.ObjectModel; 

... 

public class People : ObservableCollection<Person> { } 

A continuación, deberá añadir el espacio de nombres que su gente clases/persona están presentes en la Xaml typicall este sería el resultado: -

<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" 
     > 

Simplemente reemplace "SilverlightApplication1" con el espacio de nombres de su aplicación.

Ahora usted puede hacer: -

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

Declarar que la clase 'People' se siente prolija (en lugar de simplemente usar' ObservableCollection'), pero funciona. –

+0

@Rosarch: ¿Verbo? es una linea de codigo – AnthonyWJones

Cuestiones relacionadas