Bonjour,
je sèche depuis des jours sur ce problème de bind. J'ai des usercontrol dans une ObservableCollection que j'aimerai visualiser dans un wrappanel.
Pour simplifier j'ai fait un petit exemple avec une liste de boutons.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <Window x:Class="WpfApplication6.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.RowDefinitions > <RowDefinition Height="50"/> <RowDefinition Height="50"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions > <ColumnDefinition Width="50"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Button x:Name="BtnAdd" Content="Add" Grid.Row="0" Grid.Column="0" Click="BtnAdd_Click"/> <Button x:Name="BtnRem" Content="Rem" Grid.Row="1" Grid.Column="0" Click="BtnRem_Click"/> <StackPanel Grid.Row="1" Grid.RowSpan="2" Grid.Column="1"> <ItemsControl ItemsSource="{Binding ListOfButtons}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel Orientation="Horizontal"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> </ItemsControl> </StackPanel> </Grid> </Window>
Lorsque je clique sur le bouton Add, j'ai bien un bouton en plus dans la collection mais rien ne s'affiche. Je pense que c'est un problème simple, mais je ne n'arrive a rien.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 namespace WpfApplication6 { /// <summary> /// Logique d'interaction pour MainWindow.xaml /// </summary> public partial class MainWindow : Window { public ObservableCollection<Button> ListOfButtons = new ObservableCollection<Button> (); public MainWindow() { InitializeComponent(); } private void BtnAdd_Click(object sender, RoutedEventArgs e) { Button btn = new Button (); btn.Content ="Bouton"; ListOfButtons.Add(btn); } private void BtnRem_Click(object sender, RoutedEventArgs e) { ListOfButtons.RemoveAt(0); } } }
Merci de votre aide
MM
Partager