Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
WPF DataContext eines UserControls im RowDetail
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

Themenstarter:

WPF DataContext eines UserControls im RowDetail

beantworten | zitieren | melden

Hallo,

ich habe vor diesem Problem schon öfter gestanden, und meist habe ich es dann mit irgendwelchen hacks umschifft.

Ich habe hier ein UserControl das an ein RowDetail einer RadGridView (telerik, aber ich denke das verhalten wird im WPF Grid das selbe sein) gebunden ist, und so Automatisch den DataContext der Row (also mein Datenobject) erbt. Dummerweise schleudert es mir aber damit mein mir erdachtes ViewModel (Das ich im Xaml festlege) in Richtung Garbage Collector.

Ich bräuchte im Prinzip eine schöne möglichkeit in der nicht mein gesamter DC ersetzt wird, sondern mein Datenobject in ein Property des DC geimpft wird. Gibt es da eine möglichkeit?

Hoffe ich habe mich einigermaßen verständlich ausgedrückt.

Grüße
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

Themenstarter:

beantworten | zitieren | melden

Ok,

da es ja scheinbar keinen Vernünftigen ansatz dafür gibt, sollte ich vllt schreiben wie mein derzeitiger Hack aussieht:

Ich erzeuge im Loaded Event des Controls mein ViewModel und impfe den Derzeitigen DataContext (in diesem Moment mein Datenobject) in das ViewModel ein. Danach setze ich den DataContext auf mein ViewModel. Nicht besonders schön, und gibt ne Menge Binding Fehler am Anfang.
private Nachricht | Beiträge des Benutzers
irgendwas
myCSharp.de - Member



Dabei seit:
Beiträge: 36

beantworten | zitieren | melden

Hi,

magst Du mal den XAML Code beschrieben posten? Mir wird nicht ganz klar was Du wie deklarierst.
Mir klingt Dein ViewModel (das es zerlegt) spontan nach einer Art Converter.

D.h. es wäre vllt.
{Binding MyProperty,Converter={StaticResource converter}}
ein besseres Vorgehen - selbst wenn Du auf die Art nur dein ViewModel übergibst.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von irgendwas am .
++++ Tag ein, Tag aus: HTML-Programmierer beklagt monotone Arbeit ++++
++++ Ein Witz auf seine Kosten: Masochist kann nur gequält lächeln ++++
++++ Nichts dran: Model leugnet Magersucht ++++
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

Themenstarter:

beantworten | zitieren | melden

Du hast vollkommen recht!

dummerweise wird dieser nicht aufgerufen! Ich habe von IValueConverter abgeleitet, und diesen angegeben. Aber scheinbar geniesst DataContext hier Sonderrechte.
private Nachricht | Beiträge des Benutzers
irgendwas
myCSharp.de - Member



Dabei seit:
Beiträge: 36

beantworten | zitieren | melden

Hm, sehr merkwürdig.

Eigentlich sollte der DataContext die Rückgabe des Converters enthalten.
Einziges Problem dabei - Änderungen an Objekten unterhalb des Converters werden nicht durch den DataContext registriert - es sei denn, Du machst einen ziemlichen Notification-Aufriss bzw. verknüpfst die Objekte direkt.

Ansonsten müsste es irgendeine Besonderheit von Telerik sein, aber ich glaube nicht, dass hier die Standarts tatsächlich geändert werden.
++++ Tag ein, Tag aus: HTML-Programmierer beklagt monotone Arbeit ++++
++++ Ein Witz auf seine Kosten: Masochist kann nur gequält lächeln ++++
++++ Nichts dran: Model leugnet Magersucht ++++
private Nachricht | Beiträge des Benutzers