MVVM Umsetzung mit WinForms

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 163 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Neu

    Haudruferzappeltnoch schrieb:

    wieso ist das ein Notfall?
    Weil es der Standardweg ist, eine tDS-Instanz auf dem Form zu erstellen und in dem Components zu haben (soweit gleich mit dem BS-VM-Paket) und dann eben auch direkt daran zu binden. Wenn man jetzt da das tDS rausnimmt, um bei der App diesbezüglich eine View-VM-Trennung zu machen, wird das auch eine Umstellung für den ein oder anderen "DDD"-Entwickler. Naja, oder vielleicht auch nicht. Man könnte ja ne BS für das tDS erstellen, so wie ich es früher gemacht habe. Damit konnte ich die formübergreifende tDS-Instanz-Übergabe besser bewerkstelligen.
    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.

    Neu

    Haudruferzappeltnoch schrieb:

    Die Instanz auf dem Form zu haben ist ja auch nicht schlimm.
    hmm - ich fand das schon immer ein verheerendes WinForms-FehlDesign, dass jedes Form sein eigenes Dataset enthält (im DesignerCode instanziert).
    Aber ich hab halt einen Workaround gefunden - eine Methode, die alle Bindings umstöpselt von der lokalen tDS-Instanz auf die globale.

    Haudruferzappeltnoch schrieb:

    das ist in WPF der DataContext, da nimmt man sich auch die Instance der VM rein.
    Ein Wpf-Window instanziert kein Viewmodel, sondern bindet nur seinen DataContext ans globale Viewmodel. Da ist also von vornherein richtig gelöst, was in WinForms mein Workaround erst graderücken muss.