Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将ObervableCollection绑定到ListBox_C#_Wpf_Mvvm - Fatal编程技术网

C# 将ObervableCollection绑定到ListBox

C# 将ObervableCollection绑定到ListBox,c#,wpf,mvvm,C#,Wpf,Mvvm,我有下面的代码,应该在列表框中显示一些关于联系人列表的信息,但是绑定似乎有问题,因为没有显示任何内容。我错过了什么?非常感谢您的帮助。谢谢 XAML </Window> <Window.Resources> <DataTemplate x:Key="ContactsTemplate"> <WrapPanel> <TextBlock TextWrapping="Wrap"

我有下面的代码,应该在列表框中显示一些关于联系人列表的信息,但是绑定似乎有问题,因为没有显示任何内容。我错过了什么?非常感谢您的帮助。谢谢

XAML

</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实例(仅更改其内容)