2010-09-24 88 views
0

我无法获得DataGrid绑定在示例波纹管中工作。 发生了什么事情的线索?WPF DataGrid绑定不起作用

namespace WPFTestApplication 
{ 
    /// <summary> 
    /// Interaction logic for Window1.xaml 
    /// </summary> 
    public partial class Window1 : Window 
    { 
     public class Person 
     { 
      public int age { get; set; } 
      public String Name { get; set; } 

      public Person(int age, String Name) 
      { 
       this.age = age; 
       this.Name = Name; 
      } 
     } 

     public class MegaObject 
     { 
      public IList<Person> persons { get; set; } 
      public MegaObject() 
      { 
       persons = new List<Person>(); 
       persons.Add(new Person(11, "A")); 
       persons.Add(new Person(12, "B")); 
       persons.Add(new Person(13, "C")); 
      } 
     } 


     public Window1() 
     { 
      InitializeComponent(); 
      MegaObject myobject= new MegaObject(); 
      DataContext = myobject; 
     } 
    } 
} 


<Grid> 
    <my:DataGrid 
        Name="dataGrid" 
        AutoGenerateColumns="False" 
        ItemsSource="{Binding Source=persons}" 
       > 
     <my:DataGrid.Columns> 

      <my:DataGridTextColumn Binding="{Binding Path=age, Mode=TwoWay}" > 
      </my:DataGridTextColumn> 

      <my:DataGridTextColumn Binding="{Binding Path=Name, Mode=TwoWay}" > 
      </my:DataGridTextColumn> 

     </my:DataGrid.Columns> 


    </my:DataGrid> 

</Grid> 

问候, MadSeb

回答

2

的的ItemsSource绑定需要有路集,不来源,persons。简单地把它作为{Binding persons}会做的伎俩(路径是标记中的默认属性)或明确地{Binding Path=persons}。 DataContext总是被继承。