Silverlight:如何在XAML中声明数据集合?

5

我想在我的Silverlight for Windows Phone 7应用程序中声明一些数据,但不确定语法是什么。

例如:

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>

显然,Data不是一个有效的标签。我应该在这里使用什么标签?

我认为XAML不适合这种事情。 - JSBձոգչ
1个回答

6
首先,您需要定义一个容器类型:-
using System.Collections.ObjectModel;

...

public class People : ObservableCollection<Person> { }

您需要将包含People/Person类的命名空间添加到Xaml中,通常应该如下所示:
<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”替换为您的应用程序命名空间即可。
现在你可以做:
     <Application.Resources>
         <People x:Name="People">
             <Person Age="2" Name="Sam" />
             <Person Age="11" Name="Jane" />
         </People>
     </Application.Resources>

1
声明People类感觉有点啰嗦(与其使用ObservableCollection),但它确实有效。 - Nick Heiner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接