2011-01-04 27 views
5

Tôi muốn khai báo một số dữ liệu trong ứng dụng Silverlight dành cho Windows Phone 7 của mình. Tôi không chắc cú pháp là gì.Silverlight: Khai báo bộ sưu tập dữ liệu trong XAML?

Ví dụ:

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> 

Rõ ràng Data không phải là một thẻ hợp lệ. Tôi muốn gì ở đây?

+0

Tôi không nghĩ rằng XAML là có nghĩa là cho loại điều. –

Trả lời

6

Bạn sẽ cần phải xác định một loại container đầu tiên của tất cả: -

using System.Collections.ObjectModel; 

... 

public class People : ObservableCollection<Person> { } 

Sau đó bạn cần phải thêm không gian tên mà dân/classes Person của bạn có mặt vào XAML typicall này sẽ như thế nào: -

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

Chỉ cần thay thế "SilverlightApplication1" bằng không gian tên ứng dụng của bạn.

Bây giờ bạn có thể làm: -

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

Khai báo lớp 'People' cảm thấy tiết lộ (thay vì chỉ sử dụng' ObservableCollection'), nhưng nó hoạt động. –

+0

@Rosarch: Verbose? một dòng mã của nó. – AnthonyWJones

Các vấn đề liên quan