如何将ObservableCollection正确绑定到listview

时间:2015-04-14 13:15:31

标签: c# wpf xaml listview binding

我正在尝试将ViewModel的集合绑定到listview,但由于某种原因它无法正常工作。 这是ListView:

ListView Grid.Column="1" ItemsSource="{Binding Path=BankList}"> 
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Bank Name" DisplayMemberBinding="{Binding Path=BankName}" />
                <GridViewColumn Header="Bank Address" DisplayMemberBinding="{Binding Path=BankAddress}" />
            </GridView>
        </ListView.View>
    </ListView>

这是包含ObservableCollection的ViewModel。 GetBanks()只是用于填充集合的方法。

就像在XAML中的BankList属性完全绑定一样,但是我检查了一些断点并正确设置了BankListView的DataContext(BankListViewModel),因此应该识别BankList

public class BankListViewModel : VMBase, IBankListViewModel
   {
    public ObservableCollection<BankViewModel> BankList
    {
        get { return GetBanks(); }
        set
        {
            bankList = value;
            //this.eventAggregator.GetEvent<BankEvent>().Subscribe(i => this.bankList.Add(new BankViewModel(i, eventAggregator)));
            OnPropertyChanged("BankList");
        }
    public BankListViewModel(IEventAggregator eventAggregator)
    {
        this.eventAggregator = eventAggregator;
        this.BankList = GetBanks();

        foreach(var item in this.BankList)
        {
            MessageBox.Show(item.BankName);
        }

    }
    }
}

有什么想法吗?

0 个答案:

没有答案