小弟初学MVVM,尝试运用在WPF项目中。在ViewModel里自定义了一个集合属性
private ObservableCollection<User> checkUserList;
public ObservableCollection<User> CheckUserList
{
get
{
if (checkUserList == null)
{
checkUserList = new ObservableCollection<User>();
}
return checkUserList;
}
set
{
checkUserList = value;
RaisePropertyChanged("CheckUserList");
}
}
View上的ListBox绑定如下:
<ListBox ItemsSource="{Binding CheckUserList, Mode=TwoWay}">
<ListBoxItem>
<TextBlock Text="{Binding NameAndNum}"/>
</ListBoxItem>
</ListBox>
NameAndNum是集合的里的对象user的一个属性。断点调试在ViewModel里CheckUserList拿到了数据,但是界面View上面的List没显示数据,请教!
你这里的ListBoxItem 是一个具体的控件,你要指定ListBox Item的模板。
这样写才对
<ListBox ItemsSource="{Binding CheckUserList}" > <ListBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding NameAndNum}"/> </DataTemplate> </LixtBox.ItemTemplate> </ListBox>
谢谢