Hallo zusammen.
Ich bastel gerade eines meiner klassischen, privaten WinForms-Projekte zu einem WinForms-MVVM-Projekt um.
Dafür habe ich mir ein spezielles Panel (ich hab's mal vorerst

Nun das eigentliche MVVM-Problem: Da ich auf dem MainForm Buttons habe, die Aktionen mit dem selektierten Item machen sollen (also nicht mit dem selektierten UC, sondern mit dem dahinterliegenden Item, welches durch ein entsprechendes ItemViewModel als DataContext für das jeweilige UC hinterlegt ist), weiß ich grad nicht, wie ich dem MainViewModel, welches sich um die MainForm-Aufgaben kümmert, mitteilen darf, welches UC/ItemViewModel/Item selektiert ist. Den nicht MVVM-Weg habe ich: Ich caste aus dem DataContext des DataListPanels (welches ja Teil des MainForms ist und somit dessen DataContext bekommt) das MainViewModel und sage dem MainViewModel: selektiertes Item = DataContext des selektierten UC. Damit muss ich aber dem View Details über die ViewModels mitteilen
kurz zusammengefasst:
Ich bastel gerade eines meiner klassischen, privaten WinForms-Projekte zu einem WinForms-MVVM-Projekt um.
Dafür habe ich mir ein spezielles Panel (ich hab's mal vorerst
DataListPanel
genannt) gemacht, welches ähnlich wie ein WPF-StackPanel UserControls (UCs) von oben nach unten stapelt, aber zusätzlich beim Mausbewegen Feedback gibt und beim UC-Anklicken dieses markiert, damit man weiß, was gerade selektiert ist.Nun das eigentliche MVVM-Problem: Da ich auf dem MainForm Buttons habe, die Aktionen mit dem selektierten Item machen sollen (also nicht mit dem selektierten UC, sondern mit dem dahinterliegenden Item, welches durch ein entsprechendes ItemViewModel als DataContext für das jeweilige UC hinterlegt ist), weiß ich grad nicht, wie ich dem MainViewModel, welches sich um die MainForm-Aufgaben kümmert, mitteilen darf, welches UC/ItemViewModel/Item selektiert ist. Den nicht MVVM-Weg habe ich: Ich caste aus dem DataContext des DataListPanels (welches ja Teil des MainForms ist und somit dessen DataContext bekommt) das MainViewModel und sage dem MainViewModel: selektiertes Item = DataContext des selektierten UC. Damit muss ich aber dem View Details über die ViewModels mitteilen

kurz zusammengefasst:
- habe eine Liste von UCs, bei der man ein UC auswählen kann
- für das gewählte Item sollen Aktionen zugänglich sein, die aber in Form von (ToolStrip)Buttons auf dem MainForm liegen
- Wie teile ich dem MainForm-ViewModel MVVM-konform mit, welches Item selektiert wurde?
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()