C# 将ObervableCollection绑定到ListBox
我有下面的代码,应该在列表框中显示一些关于联系人列表的信息,但是绑定似乎有问题,因为没有显示任何内容。我错过了什么?非常感谢您的帮助。谢谢 XAMLC# 将ObervableCollection绑定到ListBox,c#,wpf,mvvm,C#,Wpf,Mvvm,我有下面的代码,应该在列表框中显示一些关于联系人列表的信息,但是绑定似乎有问题,因为没有显示任何内容。我错过了什么?非常感谢您的帮助。谢谢 XAML </Window> <Window.Resources> <DataTemplate x:Key="ContactsTemplate"> <WrapPanel> <TextBlock TextWrapping="Wrap"
</Window>
<Window.Resources>
<DataTemplate x:Key="ContactsTemplate">
<WrapPanel>
<TextBlock TextWrapping="Wrap"
Text="{Binding ContactListName, Mode=Default}"/>
</WrapPanel>
</DataTemplate>
</Window.Resources>
<Grid x:Name="LayoutRoot"
Background="#FFCBD5E6">
<Grid.DataContext>
<local:MyViewModel/>
</Grid.DataContext>
<ListBox x:Name="contactsList"
SelectionMode="Extended"
Margin="7,8,0,35"
ItemsSource="{Binding ContactLists}"
ItemTemplate="{DynamicResource ContactsTemplate}"
HorizontalAlignment="Left"
Width="178"
SelectionChanged="contactsList_SelectionChanged"/>
</Grid>
</Window>
视图模型
public class MyViewModel
{
public ObservableCollection<ContactListModel> ContactLists;
public MyViewModel()
{
var data = new ContactListDataAccess();
ContactLists = data.GetContacts();
}
}
公共类MyViewModel
{
公开收集联系人列表;
公共MyViewModel()
{
var data=new ContactListDataAccess();
ContactList=data.GetContacts();
}
}
将联系人列表更改为绑定正常工作的属性:
public class MyViewModel
{
public ObservableCollection<ContactListModel> ContactLists{get;set;}
public MyViewModel()
{
var data = new ContactListDataAccess();
ContactLists = data.GetContacts();
}
}
公共类MyViewModel
{
公共ObservableCollection联系人列表{get;set;}
公共MyViewModel()
{
var data=new ContactListDataAccess();
ContactList=data.GetContacts();
}
}
有关更多信息,请参阅。除此之外,如果您能将其设置为通过DependencyProperty访问,那就太好了。无需将其设置为DP,因为您可能永远都不想更改ContactList实例(仅更改其内容)