J'essaye de réussir TwoWay lier un ObservableCollection à TextBoxes dans un DataTemplate. Je peux obtenir les données à afficher correctement, mais je suis incapable de modifier les données de la liste via l'interface utilisateur. J'ai une classe Model nommée 'model' qui contient un ObservableCollection nommé 'List'. La classe implémente l'interface INotifyPropertyChanged. Voici le xaml pour le shell. Le DataContext pour la grille de Window1 est réglé sur "theGrid.DataContext = modèle"Comment lier un ObservableCollection aux TextBoxes dans un DataTemplate?
<Window x:Class="BindThat.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:BindThat"
Title="Window1" Height="300" Width="300">
<StackPanel x:Name="theGrid">
<GroupBox BorderBrush="LightGreen">
<GroupBox.Header>
<TextBlock Text="Group" />
</GroupBox.Header>
<ItemsControl ItemsSource="{Binding Path=List}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=., Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</GroupBox>
</StackPanel>
C'est le code pour la classe du modèle:
class Model : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
private ObservableCollection<string> _list = new ObservableCollection<string>();
public ObservableCollection<string> List
{
get { return _list; }
set
{
_list = value;
NotifyPropertyChanged("List");
}
}
public Model()
{
List.Add("why");
List.Add("not");
List.Add("these?");
}
}
Quelqu'un pourrait-il conseiller si je vais au sujet c'est la bonne façon?
Works pour moi! Merci beaucoup!! – Johnathan1
Je ne pense pas que vous devez mettre "Path =" dans la propriété Text, 'Text =" {Binding Value} "' fonctionnerait aussi – user1069816
Pourquoi la propriété de chaîne unique fonctionne mais pas Liste? –
YukiSakura