Привязка ObervableCollection к ListBox - PullRequest
       3

Привязка ObervableCollection к ListBox

1 голос
/ 02 февраля 2011

У меня есть следующий код, который должен отображать некоторую информацию о списках контактов в ListBox, но, похоже, существует проблема с привязкой, поскольку ничего не отображается.Что мне не хватает?Буду признателен за любую помощь.Спасибо!

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>

ViewModel

public class MyViewModel
{
    public ObservableCollection<ContactListModel> ContactLists;

    public MyViewModel()
    {
        var data = new ContactListDataAccess();
        ContactLists = data.GetContacts();

    }

}

1 Ответ

2 голосов
/ 02 февраля 2011

Измените ContactLists на свойство для правильной работы привязки:

public class MyViewModel
{
    public ObservableCollection<ContactListModel> ContactLists{get;set;}

    public MyViewModel()
    {
        var data = new ContactListDataAccess();
        ContactLists = data.GetContacts();

    }
}

См. здесь для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...