2011-02-01 74 views
1

我有下面的代碼應該顯示關於列表框中的聯繫人列表的一些信息,但似乎沒有任何顯示的綁定有問題。我錯過了什麼?將不勝感激任何幫助。謝謝!將ObervableCollection綁定到列表框

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> 

視圖模型

​​

回答

2

變化ContactLists是一個屬性的結合才能正常工作:

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

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

    } 
} 

here更多信息。

+0

除此之外,如果您將其設置爲通過DependencyProperty進行訪問,那將會很不錯。 – 2011-02-01 21:47:31