2011-01-04 15 views
5

Windows Phone 7 uygulaması için Silverlight'ımda bazı verileri bildirmek istiyorum. Sözdiziminin ne olduğundan emin değilim. ÖrneğinSilverlight: XAML'de bir veri koleksiyonunu bildirme?

:

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> 

Açıkçası Data geçerli bir etiket değildir. Burada ne istiyorum?

+0

Ben XAML şey bu tür içindir sanmıyorum. –

cevap

6

Sen her şeyden önce bir konteyner türünü tanımlamak gerekir: -

using System.Collections.ObjectModel; 

... 

public class People : ObservableCollection<Person> { } 
Ardından İnsanlar/Kişi sınıfları şu şekilde görünecektir typicall Xaml için mevcuttur ad eklemeniz gerekir

: -

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

"SilverlightApplication1" yerine kendi uygulama ad alanınızla değiştirin.

Şimdi yapabilirsiniz: -

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

'People' sınıfının bildirilmesi, (yalnızca bir ObservableCollection işlevi kullanmak yerine) ayrıntılı gelir, ancak çalışır. –

+0

@Rosarch: Verbose? onun bir kod satırı. – AnthonyWJones