2014-01-14 62 views
0

我的TreeView沒有將元素添加到數據源的更新。我使用這個代碼在XAML樹視圖沒有將對象添加到Observable集合的更新

這是隱藏代碼:

公共部分類ProceduresPage:頁,INotifyPropertyChanged的 {

public ProceduresPage() 
    { 

      InitializeComponent(); 
      CustomerSiteTreeDataSource = new ObservableCollection<TreeNodeItem>(); 
      CustomerSiteTreeDataSource.Add(TreeNodeItem newSite= new TreeNodeItem{ Id=  "ID", Desc = "Description" }); 
      TV_CustomerSites.DataContext = CustomerSiteTreeDataSource; 

    } 



    private ObservableCollection<TreeNodeItem> customerSiteTreeDataSource; 
    public ObservableCollection<TreeNodeItem> CustomerSiteTreeDataSource 
    { 
     get 
     { 
      return customerSiteTreeDataSource; 
     } 
     set 
     { 

      customerSiteTreeDataSource = value; 
      NotifyPropertyChanged("CustomerSiteTreeDataSource"); 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 
    private void NotifyPropertyChanged(string property) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(property)); 
     } 
    } 


} 

在調用addFunction中代碼隱藏

TreeNodeItem newSite= new TreeNodeItem{ Id = "ID", Desc = "Description" }; 
CustomerSiteTreeDataSource.Add(newSite); 

我的TreeView在加載時正確綁定,但不會更新在添加函數中將數據源添加到數據源的UI。

我在做什麼錯?

回答

0

您沒有正確地進行綁定。

刪除:

TV_CustomerSites.DataContext = CustomerSiteTreeDataSource; 

地址:

Binding binding = new Binding("CustomerSiteTreeDataSource"); 
TV_CustomerSites.DataContext = this; // This might not be needed 
TV_CustomerSites.SetBinding(TreeView.ItemsSourceProperty, binding); 
相關問題