Merci pour ta réactivité.
<Setter Property="ItemsSource" Value="iLstPersonne"></Setter>
c'était un reliquat de mes différents essais...
J'ai donc transformé ma liste en ObservableCollection, mais ma liste ne s'affiche toujours pas, bien qu'elle soit rempli.
le xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <StackPanel Background="AliceBlue" Name="LayoutRoot">
<StackPanel.Resources>
<Style TargetType="ListBoxItem" x:Key="lstItem">
<Setter Property="Padding" Value="0"></Setter>
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<StackPanel Background="Aqua">
<TextBlock x:Name="prenom" Text="{Binding Path=prenom}"></TextBlock>
<TextBlock x:Name="nom" Text="{Binding Path=nom}"></TextBlock>
<ContentPresenter Content="{TemplateBinding Content}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="ListBox" x:Key="lst">
<Setter Property="Width" Value="180"></Setter>
<Setter Property="Padding" Value="0"></Setter>
<Setter Property="Margin" Value="0"></Setter>
<Setter Property="ItemContainerStyle" Value="{StaticResource lstItem}" />
</Style>
</StackPanel.Resources>
<ListBox Style="{StaticResource lst}" Name="lstPersonneXaml" ItemsSource="{Binding iLstPersonne}"/>
<Button Content="Bouton" Click="Button_Click"></Button>
<TextBlock Name="lblInfo"></TextBlock>
</StackPanel> |
le code behind.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public ObservableCollection<Personne> iLstPersonne;// = new ObservableCollection<Personne>();
public MainPage()
{
this.InitializeComponent();
// ici le dataContext devient MainPage
this.LayoutRoot.DataContext = this;
// on instancie la propdp
this.iLstPersonne = new ObservableCollection<Personne>();
Personne oPers = new Personne();
oPers.CreatePersonne("BOLT", "Usain");
iLstPersonne.Add(oPers);
oPers = new Personne();
oPers.CreatePersonne("BRICO", "Judas");
iLstPersonne.Add(oPers);
oPers = new Personne();
oPers.CreatePersonne("ROUX", "Guy");
iLstPersonne.Add(oPers);
//on charge la liste dans sa listbox
//lstPersonneXaml.ItemsSource = iLstPersonne;
} |
Partager