1
次のコードでは、ListBoxのContactListsに関する情報を表示する必要がありますが、何も表示されないためバインディングに問題があるようです。私は何が欠けていますか?助けていただければ幸いです。ありがとう!ObervableCollectionをListBoxにバインドする
public class MyViewModel
{
public ObservableCollection<ContactListModel> ContactLists{get;set;}
public MyViewModel()
{
var data = new ContactListDataAccess();
ContactLists = data.GetContacts();
}
}
を参照してください:
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
さらに、DependencyPropertyを介してアクセスするように設定するとよいでしょう。 –
ContactLists * instance *(その内容のみ)を変更したくない可能性があるので、DPとして設定する必要はありません –
本当にありがとう – Ben