Ich versuche erfolgreich TwoWay eine ObservableCollection an TextBoxen in einem DataTemplate zu binden. Ich kann die Daten korrekt anzeigen, aber ich kann die Listendaten nicht über die Benutzeroberfläche ändern. Ich habe eine Model-Klasse namens 'model', die eine ObservableCollection namens 'List' enthält. Die Klasse implementiert die INotifyPropertyChanged-Schnittstelle. Hier ist das Xaml für die Shell. Die Datacontext für Window1 des Gitters wird auf "theGrid.DataContext = model"Wie kann ich eine ObservableCollection an TextBoxen in einem DataTemplate binden?
<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>
Dies ist der Code für die Modellklasse ist:
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?");
}
}
Könnte jemand raten, wenn ich werde das ist der richtige Weg?
Works for me! Vielen Dank!! – Johnathan1
Ich glaube nicht, dass Sie "Path =" in der Text-Eigenschaft setzen müssen, "Text =" {Binding Value} "würde auch funktionieren – user1069816
Warum eine einzelne String-Eigenschaft funktioniert, aber nicht List? –
YukiSakura