我正在尝试将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);
}
}
}
}
有什么想法吗?