Envoyé par
Pikul
Salut,
Le problème se trouve dans le constructeur Window1(). Après avoir charger ta collection configCollection tu fais un boucle sur les objets et tu assignes les valeurs aux propriétés Text des textbox
Le binding déclaré dans Window1.xaml est alors perdu et les changements dans les textboxes ne sont pas passée aux objets.
Supprime cette boucle et corrige tes binding dans le XAML.
J'ai creusé un peu et j'arrive à un point bizarre.
Mes données doivent être normalement affichés dans des TextBox.
Comme je n'arrivais à faire la liaision, je les ai mises dans 1 listView contenant des TextBox et là ca marche.
Gardant ma listView (parce que ca marche!)et bindant mes autres TextBox(non compris dans la listView) tjs pour tester, le contenu de ces dernières TextBox ne s'affichent pas correctement alors que la ListView est ok.
Le plus surprenant est que lorsque je clicke sur la listView(sélection d'1 row), mes données des TextBox à l'extérieur de la listView sont rafraîchis et tout est OK!!!!
J'ai vu que c'était à cause que ma listView à la propriété
IsSynchronizedWithCurrentItem="True"
Que me faut-il faire pour que le bindage fonctionne sur les TextBox sans devoir cliquer sur une listView ou quoi que ce soit ???
Voici ma listView bidon:
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
| <ListView x:Name="listView2" Style="{StaticResource grid00}" ItemsSource='{Binding Source={StaticResource Config}}' IsSynchronizedWithCurrentItem="True" Background="AliceBlue" Grid.Column="2" Margin="1,-6,-11,6">
<ListView.View>
<GridView>
<GridViewColumn Width="150" >
<!--tag is useful to sort the listview by column-->
<GridViewColumnHeader Content="Order1" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Path=SetupFtpSsh.SiteConfig}" />
<TextBox Text="{Binding Path=SetupFtpSsh.SiteConfig, Mode=TwoWay}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="150" >
<!--tag is useful to sort the listview by column-->
<GridViewColumnHeader Content="Order1" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBlock Style="{StaticResource GridBlockStyle}" Text="{Binding Path=Test}" />
<TextBox Style="{StaticResource GridEditStyle}" Text="{Binding Path=Test, Mode=TwoWay}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView> |
et le code de ma TextBox:
<TextBox Style="{StaticResource grid00}" Height="23" Margin="141,51,270,0" Name="tbSiteConfiguration" VerticalAlignment="Top" Text='{Binding Source={StaticResource Config}, Path=SetupFtpSsh.SiteConfig, Mode=TwoWay}' />
Partager