在程序代码中有一个Collection,我想把它绑定到Xaml中的ListView中去。该怎么做?
例如:在Window1.xaml.cs我定了一个Person的类,和一个ObservableCollection类型的集合Persons。我想把这个集合绑定到ListView中。首先需要在xaml中定义这个资源,然后就是再使用这个资源去绑定。但具体的步骤怎么做?有没有相关的例子?我刚学习WPF,有很多不明白。请大家多多指教。

解决方案 »

  1.   

    http://blog.csdn.net/winnerzone/archive/2007/05/10/1603281.aspx
      

  2.   

    多谢二楼!这也是一种解决办法。我希望能在XAML中设定DataContext。这时需要将集合定义成为一种资源在XAML中。请问应该怎么样定义?并在DataContext中使用它。
      

  3.   

    集合数据绑定
    http://www.cnblogs.com/Jax/archive/2007/09/06/884873.html有ItemTemplate和DataTemplate属性
    如:
    [code=XAML]
     <ListBox  ItemsSource="{Binding}"  IsSynchronizedWithCurrentItem="True"  />
      <ListBox.ItemTemplate>
        <DataTemplate>
          <StackPanel Orientation="Horizontal">
            <TextBlock TextContent="{Binding Path=Name}" />
            <TextBlock TextContent=" (age: " />
            <TextBlock
              TextContent="{Binding Path=Age}"
              Foreground="
                {Binding
                  Path=Age,
                  Converter={StaticResource AgeToForegroundConverter}}" />
            <TextBlock TextContent=")" />
          </StackPanel>
        </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>
    [/code]
      

  4.   

    感谢4楼的回复。还有一个问题。在你给的链接中,要绑定的集合是在Xaml中定义的。如下:
        <Window.Resources>
            <local:People x:Key="Family">
                <local:Person Name="Melissa" Age="36" />
                <local:Person Name="Tom" Age="9" />
                <local:Person Name="John" Age="11" />
            </local:People>
        </Window.Resources>如果我想绑定一个在程序中动态定义的一个集合应该怎么做?谢谢!