2010-11-29 83 views
1
DataContextDataContext context1 = new DataContextDataContext(); 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DataContext = new ObservableCollection<MyObject>(); 
     RadGridView1.Filtered+=new EventHandler<GridViewFilteredEventArgs>(RadGridView1_Filtered); 
     ObservableCollection<MyObject> _MyObject = new ObservableCollection<MyObject>(); 
     foreach (var p in context1.Students) 
     { 
      _MyObject.Add(new MyObject { ID = p.StudentID, Name = p.StudentFN }); 
     } 
    } 

    void RadGridView1_Filtered(object sender, GridViewFilteredEventArgs e) 
    { 
     RadGridView1.ItemsSource = ObservableCollection<MyObject>(); 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 

    } 
} 

public class MyObject 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 

你如何將我的ObservableCollections綁定到ItemsSource?如何將ObservableCollections綁定到ItemsSource?

+0

protip:`ObservableCollection MyObjects {get; set;}`綁定到字段不起作用(我很驚訝它在選定的答案;可能是因爲它是一個集合),如果你開始習慣這種習慣,你會花幾天的時間搞清楚爲什麼你的綁定失敗。另外,您可能想查看框架指南。 – Will 2010-11-29 12:45:42

回答

4

希望將ItemSource設置爲您在構造函數中創建的ObservableCollection實例:

RadGridView1.ItemsSource = _MyObject; 
3

您可以觀察集合在你的代碼隱藏的公共屬性/主持人/視圖模型,像

public ObservableCollection<MyObject> MyObjectCollection {get;set;} 

然後你可以填充它,綁定可以是後面的代碼。

的ItemsSource是一個依賴屬性,你可以在XAML或代碼綁定背後,就像假設你要綁定到ListBox的(比如命名lstItems)的ItemsSource,像(下面的代碼是考慮到「MyObjectCollection」是在代碼隱藏

Binding bindingObject = new Binding("MyObjectCollection"); 
bindingObject.Source = this; //codebehind class instance which has MyObjectCollection 
lstItems.SetBinding(ListBox.ItemsSource, bindingObject); 

或XAML,

<ListBox x:Name="lstItems" ItemsSource="{Binding Path=MyObjectCollection}"/> 

兩個你上面的方法需要設置的datacontext這是 '本'(這個特定的解決方案)。

但也許你想看看基本的WPF數據綁定在這裏你可以理解Depedency屬性,綁定對象,結合模式等

http://msdn.microsoft.com/en-us/library/aa480224.aspx http://msdn.microsoft.com/en-us/library/ms750612。 aspx http://joshsmithonwpf.wordpress.com/2008/05/19/gradual-introduction-to-wpf-data-binding/

相關問題