Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
2 verfasser
Seite 1 von 1
Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
Wenn ich den Namen etc. eines Characters ändere, wird das nicht gespeichert, wenn er den Focus durch einen Klick auf einen Char. in der obigen Liste verliert. Änderungen werden verworfen.
Tobias G.- Anzahl der Beiträge : 37
Anmeldedatum : 23.10.12
Re: Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
autsch.... das is n brecher... aber guter bug, ich schau mal was ich da tun kann..
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
ok das is echt fies... bei der konstellation wird der andere selektierte charakter unten reingeladen, bevor die Daten vom Textfeld überhaupt im VM ankommen.....
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
- Code:
private void updatetextsource(object sender, KeyboardFocusChangedEventArgs e)
{
(sender as TextBox).GetBindingExpression(TextBox.TextProperty).UpdateSource();
}
Diese Methode hab ich zum MainWindow Codebehind hinzugefügt. Alles was sie tut ist, die aufrufende Textbox zum datenupdate zum VM zu zwingen.
- Code:
PreviewLostKeyboardFocus="updatetextsource"
Diese Eigenschaft - hinzugefügt an eine Textbox - sorgt dafür dass die oben beschriebene methode aufgerufen wird, wenn der fokus verloren wird. Das ist zwar eigentlich das was normalerweise passieren sollte, allerdings scheint das "PreviewLostKeyboardFocus" event irgendwie noch vorher zu triggern... bitte nochmal prüfen, ich denke aber mal fixed (und die lösung liegt hier parat wenn das in zukunft noch irgendwo n problem wird)
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
PS: wenn wir für alle elemente im editbereich autosave haben müssen wir das hier auf jeden fall nochmal bei denen beobachten. Da die anderen element-typen aber slider, checkboxen oder list/comboboxen sind, die sofort auf den klick reagieren (und updaten) sollten, dürfte dieses problem nahezu nur bei textboxen auftreten.
Außer: wenn wir den updatesourcetrigger zB für die slider auch auf lostfocus setzen könnten wir dort das gleiche problem erfahren. müssen wir gucken wenns soweit ist.
Notiz für coder später (wenn auch etwas of topic):
Wenn noch zeit ist, könnten wir uns wirklich gedanken machen ob wir ein timergesteuertes autosave einführen, ich stell mir das so vor: eine änderung kommt im VM an, der Timer wird gesetzt, nach ablauf der Zeit (sagen wir 1-2 sekunden oder so) schreiben wir die daten in die manager.
Wenn vor ablauf der Zeit eine weitere Änderung stattfindet, wird der timer resettet. Speichern kommt also nur vor, wenn 1-2 sekunden seit der letzten Eingabe im VM vergangen sind. Um diesen bug dann zu verhindern können wir den updatesourcetrigger wieder auf PropertyChanged setzen, und beim setzen von "LastSelected" in den ListVMs einmal das speichern erzwungen aufrufen.
Außer: wenn wir den updatesourcetrigger zB für die slider auch auf lostfocus setzen könnten wir dort das gleiche problem erfahren. müssen wir gucken wenns soweit ist.
Notiz für coder später (wenn auch etwas of topic):
Wenn noch zeit ist, könnten wir uns wirklich gedanken machen ob wir ein timergesteuertes autosave einführen, ich stell mir das so vor: eine änderung kommt im VM an, der Timer wird gesetzt, nach ablauf der Zeit (sagen wir 1-2 sekunden oder so) schreiben wir die daten in die manager.
Wenn vor ablauf der Zeit eine weitere Änderung stattfindet, wird der timer resettet. Speichern kommt also nur vor, wenn 1-2 sekunden seit der letzten Eingabe im VM vergangen sind. Um diesen bug dann zu verhindern können wir den updatesourcetrigger wieder auf PropertyChanged setzen, und beim setzen von "LastSelected" in den ListVMs einmal das speichern erzwungen aufrufen.
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Ähnliche Themen
» Checkbox Character PC/NPC (Rev. 1015)
» Involved Char ist nicht mehr gecheckt, wenn man den Namen des Chars ändert
» Öffnen und Speichern
» P-Condition : Tolerance wird nicht mit gespeichert
» Consequences-Emotion wird nicht gespeichert....
» Involved Char ist nicht mehr gecheckt, wenn man den Namen des Chars ändert
» Öffnen und Speichern
» P-Condition : Tolerance wird nicht mit gespeichert
» Consequences-Emotion wird nicht gespeichert....
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten