J'ai un ViewModel et je mets une instance de celui-ci à DataContext.In xaml j'ai lié la itembox Listbox à une collection observable dans ViewModel.But quand je lance le programme rien n'apparaît dans la liste .Quelle peut être la raison.Paramètre à DataContext ne reflétant pas dans ListBox
classe Mon ViewModel:
public class ViewModel
{
public ObservableCollection<Data> _collectionData = new ObservableCollection<Data>();
-----
-----
}
Xaml:
ListBox Name="myListBox" Margin="8,113,8,8" ItemsSource="{Binding _collectionData}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<Border BorderThickness="3" BorderBrush="#A5FFFFFF" Width="80" Margin="0,20,0,20" Height="60">
<Image Source="{Binding ImageUrl, Mode=OneWay}" VerticalAlignment="Stretch" Margin="0,0,0,0" Width="80" Height="60" Stretch="Fill" />
</Border>
<TextBlock TextWrapping="Wrap" Text="{Binding Title}" FontSize="40" FontWeight="Normal" VerticalAlignment="Center" Margin="30,0,0,0" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Constructor de la page principale:
ViewModel vm = new ViewModel();
this.DataContext = vm;
Mais quand je donne myListBox.ItemsSource = vm._collectionSplashData;
cela fonctionne .Quel est peut-être la raison?
Essayez-vous de faire la propriété au lieu du champ? –
@ArsenMkrt Merci beaucoup.Travaillé.Vous avez sauvé ma journée :) .Mais vous avez une idée pourquoi les champs publics ne fonctionne pas? – Vaysage
Vous êtes les bienvenus, je l'affiche comme réponse maintenant –