Ich habe gerade in ein Projekt ein Problem, was ich mir nicht wirklich erklären kann. Ich habe in meinem ViewModel ein Array an Bytes. Dies wird während der Laufzeit dynamisch erzeugt (was die Anzahl der Einträge angeht). Die View bekommt auch erfolgreich mit, wenn sich die Anzahl ändert. Wenn ich nun aber über die TextBoxen in der View Daten in dieses Array packen möchte, bleiben diese auf den Initial Wert stehen.
Hier der WPF Code:
<ItemsControl ItemsSource="{Binding SomeNumbers}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type system:Byte}">
<TextBox Text="{Binding Path=., Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" GotFocus="OnTextBoxGotFocus" TextChanged="OnTextBoxTextChanged" Foreground="Black" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5" Width="45" Height="28" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Gibt es dort ein Grund, warum das Binding der Text-Eigenschaft meiner TextBox nicht an das ViewModel übertragen wird? An anderen Stellen wo ich fix einzelne Bytes habe, funktioniert die Übertragung Problemlos...
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung
C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
bidirektionales Binding funktioniert nur mit Properties von Objekten.
Bytes in einem Byte[] sind aber keine Properties.
Listen so direkt auslesen können die Bindings - aber wieder was zurückschreiben - wie gesagt: ...
Der frühe Apfel fängt den Wurm.
Macht natürlich Sinn. Vielleicht sollte ich nicht mitten in der Nacht an was herum werkeln, damit ich auch manchmal nachdenke vor dem Verzweifeln ^^
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung
C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog