Autor Beitrag
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Do 13.03.14 22:41 
Moin,

ich hab hier eine simple TextBox, die enthält Straße und Hausnummer einer Adresse. Das Gleiche nochmal mit Postleitzahl und Ort.

Nun möchte ich beide Daten an jeweils eine eigene Property binden. Das aktualisieren der Anzeige aus beiden Properties kriege ich hin, mein Problem ist, dass die beiden Properties auch entsprechend aktualisiert werden sollen, wenn der Nutzer eine Eingabe macht.

Ich habe mir da gedacht, dass ich den String anhand der Leerzeichen splitte und dann das letzte Element als Hausnummer verwende. Beim Ort genau umgekehrt.


Gibt es dafür eine Möglichkeit, das direkt in WPF zu erledigen, ohne dass ich dafür einen MultiValueConverter schreiben muss?
Also sozusagen eine Art Regex?


Gruß


PS:

Bitte seid nachsichtig mit mir, ich arbeite noch nicht so lange mit WPF.
Ein Buch ist gekauft und ich lese auch schon fleißig, bloß zieht sich das auf Grund der schieren Masse noch eine Weile, deshalb bastle ich nebenher etwas mit WPF rum.
daeve
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Di 25.03.14 23:01 
was ist genau dein Problem ? wenn du ein Propery bindest musst du nur eine Eigenschaft im xaml anpassen. (binding mode = twoway)
dann steht im property immer das was du im GUI siehst.

oder habe ich das falsch verstanden ?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 25.03.14 23:50 
Wenn ich mal WPF ignoriere was spricht gegen eine 3.te Property an der Modelklasse die eine Kombination der beiden anderen darstellt mit der entsprechenden Logik um Strasse, Hausnummer auseinander zunehmen und die beiden anderen Properties entsprechend updated? Das wäre ansatzweise technikagnostisch und würde dann nicht nur in WPF funktionieren.
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 26.03.14 00:49 
@daeve:

Das Problem war, dass ich in dem Beispiel Straße und Hausnummer nicht in verschiedene Textboxen aufteilen, sondern die Möglichkeit bieten möchte, Beides in einem Rutsch schreiben zu können, während im Zuge der Datenbindung den Text dann auseinander pflückt und entsprechend an die jeweilige Property gibt. Oder anders herum, den Inhalt beider Properties aneinander hängen, wobei ich das an anderer Stelle schon erreicht habe.


@Ralf:
Wozu soll das ViewModel das können?
Die anderen Schichten brauchen die reinen Daten, diese eine Property wäre also nur ein Feature für die Oberfläche, das ich sonst gar nicht brauche und das gehört meiner Meinung nach so gut wie möglich an die View gebunden und vom Rest getrennt. Also im Prinzip GUI-"Logik" im ViewModel.


Ich hatte gehofft, dass es eine Möglichkeit, ähnlich wie Regex gibt, die das übernimmt und dann kann ich im Regex-Pattern über Gruppen fest legen, welcher Teil-String nun wo landet.




Wobei, wenn es das nicht gibt, dann könnte ich mir ja vielleicht eine Komponente schreiben, die genau sowas kann.
So wie ich WPF mittlerweile kennen gelernt habe, gibt es da bestimmt eine Möglichkeit, das irgendwo zu implementieren, ich muss sie nur noch finden. ^^
daeve
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Mi 26.03.14 09:55 
aha :) ok ja bei solchen fällen habe ich bis anhin mit den get/set Methoden gearbeitet (ich weis nicht schön aber funktional)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 26.03.14 10:35 
Zitat:
Also im Prinzip GUI-"Logik" im ViewModel.


Das ist jetzt sicher Softwarephilosophie aber es ist nicht das Model sondern das ViewModel. Und das ViewModel ist (für mich) eine für den View aufbereitete Darstellung des Modells also genau der Ort wo ein solcher Wechsel, Strasse Hausnummer getrennt bzw. einzeln, für den View vorgenommen werden sollte. Wenn du andere Schichten hast die auch mit den Daten arbeiten sollen und die das nicht betrifft ist das kein Problem den die benutzen das Model nicht das ViewModel.