Ich möchte meine Textfelder nur aktualisieren, wenn auf die Schaltfläche Update geklickt wird, anstatt wenn Eigenschaft geändert wird. Ich habe sie auf UpdateSourceTrigger = Explicit gesetzt, also brauche ich jetzt nur die Schaltfläche, um BindingExpression.UpdateSource aufzurufen.C# Aufruf von BindingExpression.UpdateSource in UWP MVVM
<TextBox x:Name="textBox_No" HorizontalAlignment="Left" Margin="650,145,0,0" TextWrapping="Wrap" Text="{Binding SelectedItem.Hotel_No, Mode=TwoWay, UpdateSourceTrigger=Explicit}" VerticalAlignment="Top"/>
<TextBox x:Name="textBox_Name" HorizontalAlignment="Left" Margin="650,218,0,0" TextWrapping="Wrap" Text="{Binding SelectedItem.Name, Mode=TwoWay, UpdateSourceTrigger=Explicit}" VerticalAlignment="Top"/>
<TextBox x:Name="textBox_Address" HorizontalAlignment="Left" Margin="650,305,0,0" TextWrapping="Wrap" Text="{Binding SelectedItem.Address, Mode=TwoWay, UpdateSourceTrigger=Explicit}" VerticalAlignment="Top"/>
<Button x:Name="button" Content="Update" HorizontalAlignment="Left" Margin="655,388,0,0" VerticalAlignment="Top" Command="{Binding HotelHandler.UpdateCommand, Mode=TwoWay}"/>
Gibt es eine einfache Möglichkeit, BindingExpression.Updatesource ohne Code-Behind aufzurufen? Der Hauptgrund, warum ich nach einer Non-Code-Behind-Lösung suche, ist, dass ich in der Schule lerne, um Code-Behind zu fast allen Kosten zu vermeiden.
Es ist ein weit verbreitetes Missverständnis in MVVM, dass Sie nicht den Code-behind überhaupt verwenden sollten. Ich denke, es ist eine gute Methode, den Code-Behind für eine View-spezifische Funktionalität zu verwenden und das View-Modell für die Anwendungslogik zu behalten. Ihr ViewModel sollte leicht hinter eine andere Ansicht passen, die die gleiche Daten/Logik ohne ungerade Bits Off-Code darstellt, die nicht für diese Ansicht gelten. –