get;set properties um werte von comboboxen zu ändern?



  • wie man was loest muss man dann im jeweiligen anwendungsfall betrachten
    ich verweise einfach mal auf dravere , firefighter und chrische5 - die alle sind auch mitlerweile mvvm juenger

    :p danke dir 😉 aber mal so als nebenfrage, hast du ein vernünftiges tut wo man mal reinschnuppern kann oder ne doku über mvvm, weil komplett steh ich da auch noch nicht drinne... 🙂



  • Karle der Zweifler schrieb:

    Allem Hype zum trotz. MVVM ist nur praktisch nutzbar, wenn man ein gutes Binding System hat auf das MVVM aufsetzen kann

    richtig , und das hat man mit der wpf {o;

    ich entwickel auf arbeit und auch private daheim alles nur noch mit mvvm - hype hin oder her - es ist in wpf definitiv praktisch nutzbar , effektiv und wenn man groessere applikationen entwickelt (oder / und daran beteiligt ist) auch deutlich efektiver

    schau
    ich seh das an einem direkten beispiel in der firma - wir schreiben applikationen in mfc und die neueren in wpf mit c#

    der arbeitsfluss ist doch so das "ux" eine oberflaeche designed , und das dann final als bilder den entwicklern uebergibt
    zudem werden auch alle zu benoetigten und zu benutzenden strings definiert und auch weiter gegeben
    das passiert im optimalen fall auch fuer jede sprache separat

    nun muss ein entwickler die bilder der ui in der applikation umsetzen
    wenn der designer noch animationen hier un da haben will - oder diverse effekte die auftreten soll wenn etwas ist - muss er das den entwickler dann noch irgendwie mitteilen

    der riesen nachteil dabei ist - es ist zum einen kaum moeglich vorher etwas zu entwickeln - und der entwickler muss irgendwie die wuensche des designers umsetzen

    nun kommt man mit wpf daher
    da gibt man dem designer ein wekzeug in die hand womit der das design nicht nur definiert sondern auch schon direkt erstellen kann (und auch wird)
    simultan koennen die entwickler bereits die logic entwickeln
    beim handover wird ui und code dann nur noch gekoppelt und fertig
    im wie bereits erwaehnten optimalen fall wird die ui dann auch dynamisch zur laufzeit in einer lokalisierten version ausgetauscht

    was geschwindigkeit an geht - wenn man das pattern einmal richtig benutzt hat - ist man sogar schneller
    es ist falsch an zu nehmen es geht nur um das binden von daten einer externe quelle
    es geht darum das man logic und ui komplett trennt
    das ist dann auch eine perfekte basis fuer unit tests

    es werden mitlerweile mehrere wpf applikationen mit wpf umgesetzt - sobald das programm eine gewisse groesse erreich muss man sich ueber die architektur gedanken machen - wenn man da mi mvvm planen kann ist das wirklich ein riesen vorteil {=

    wer kennt das nicht das jemand (der was zu sagen hat) an kommt und noch was geaendert oder hinzugefuegt haben will
    zb das eine combobox durch eine liste ausgetauscht wird - oder das etwas geaendert werden soll weils einfach unhandlich ist
    da aendert man das nur in der ui ohne im code auch nur ein fetzen code anfassen zu muessen

    es ist nicht nur einfach ein hype - die vorteile wenn man es einmal verinnerlicht hat sind einfach nicht von der hand zu weisen , und ich spreche noch nichtmal von der architektur ,
    gut gesigntes mvvm ist ein traum fuer jeden software architekten
    das software architekt office oder solution architekt hat dadurch auch die moeglichkeit teile der application weiter zu verwenden ohne es aendern zu muessen - und das nicht nur unabhaengige klassen sondern auch die objekte die daten zum darstellen bereit stellen
    es braucht nur eine definierte ui

    es ist ja nicht so das eine trennung zwischen ui und logic eine neue idee waere - nur erst mit wpf ist es bis zur perfektion treibbar durch eine komplett losen kopplung (ui kennt das wahre datenobjekt nicht , und das datenobjekt kennt keine ui (weiss nichtmal ob es ueberhaupt eine ui gibt)
    wenn man es ganz bunt treiben will hat man eine ui und laesst sich ein selbst komplett unbekanntes daten objekt daran koppeln (zb ueber ne factory)

    Karle der Zweifler schrieb:

    Alle anderen Anwendungen - das sind sehr viele - werden weiterhin mit mvc bzw. MVP entwickelt werden.

    das kann ich zustimmen bei nicht-wpf applikationen
    ich seh es in der eigenen firma , unsere applikationen werden weiltweit vertrieben und in 29 sprachen uebersetzt - und ist auch sehr bekannt (braeuchte nur den firmen namen sagen , aber hier braucht keiner wissen wo ich arbeite , lediglich chrische5 koennte es erfahren #gg)
    wir entwickeln die neueren applikationen die bereits auf wpf auf ziehen auch nur noch mit mvvm - allein schon weils besser ist fuer die build street angefangen bei ux
    (wenn ich an die oem customisierungen der mfc apps denk , ein graus , mit den wpf apps ist das deutlich einfacher und schneller - da freut sich der grosskunde)



  • das kann ich zustimmen bei nicht-wpf applikationen

    Ich habe WPF erstmal gewählt wegen der einfachen ERstellung von eigenen Controls und Themes/Styles. Da brauche ich kein MVVM. Geht genauso mit WPF Architektur.



  • Hallo

    Schau es dir mal an, es ist ein Kulturschock...

    chrische



  • Karle der Ungläubige schrieb:

    Geht genauso mit WPF Architektur.

    was ist eine "wpf architektur" ?



  • Mr Evil schrieb:

    Karle der Ungläubige schrieb:

    Geht genauso mit WPF Architektur.

    was ist eine "wpf architektur" ?

    sorry meinte MVP ;P mit MVP ist WPF eben ein Zwischenritt bevors mit MVVM zur WPF Vollendung geht.



  • Hallo

    Meine Meinung: Versuch es gleich richtig. Du wirst tausend Fragen haben, aber hier im Forum mit Mr. Evil eine sehr kompetente Person, was MVVM angeht.

    chrische



  • hehe - danke chrische

    @karl
    du siehst das denk ich schon richtig - wpf ist gerade zu predistiniert um es mit mvvm zu verwenden
    ich kann mich auch nur anschliessen - versuch es mal - es macht suechtig {= #anfix #gg



  • Mr Evil schrieb:

    hehe - danke chrische

    @karl
    du siehst das denk ich schon richtig - wpf ist gerade zu predistiniert um es mit mvvm zu verwenden
    ich kann mich auch nur anschliessen - versuch es mal - es macht suechtig {= #anfix #gg

    ja wegen den routes, commands etc sonst macht wpf kaum sinn hehe ich sträube mich noch bin aber willig ist einfach scheiss viel arbeit...

    Also ich hab jetzt hier die links von msdn magazine über mvvm + routed events. Leuchten mir aber noch nicht sooooo ein. Vielleicht hat mir noch jemand gute links für einen mvvm beginner 🙂



  • war nochmals gerade auf codeplex und es gibt zu mvvm eine Menge an mvvm frameworks... mind. 5 STück. Welches davon würde denn Mr. Evil empfehlen?

    Ich habe vor 6 monaten mit dem entity framework + mvp angefangen. Vllt. gibts ja ein mvvm framework besonders geeignet mit dem ORM tool von MS ?



  • versteh die frage grad nicht
    mvvm frameworks ?
    das mvvm ist doch nur ein pattern welches du mit dem .net 3.5 framework mit wpf umsetzt ?!
    man braucht nichts zusaetzliches

    das hier: http://msdn.microsoft.com/de-de/magazine/dd419663.aspx ist wirklich gut um ein einstieg zu finden denk ich
    sind zwar viele besonderheite nicht dabei - aber wie gesagt - nur zum einstieg

    man lernt denk ich nur wenn man eine eigene kleine app schreibt und damit anfaengt _nie-niemals-nich_ in die code behind zu schreiben
    dann wirst du sehr schnell auf ein erstes problem stossen - das versuchst du dann elegant zu loesen (evtl auch mit hilfe von andern) und dann gehts weiter

    das wird schon

    chrische5 zb lernts auch grad - und ich hab das gefuehl das er ziemlich schnell keine hilfe mehr brauchen wird {=
    dravere wolltes glaub ich auch lernen - weiss grad nicht mehr - und firefighter - ich glaub er hat keine zeit das zu machen (oder aufgegeben - weiss nich)



  • Mr Evil schrieb:

    versteh die frage grad nicht
    mvvm frameworks ?
    das mvvm ist doch nur ein pattern welches du mit dem .net 3.5 framework mit wpf umsetzt ?!
    man braucht nichts zusaetzliches

    das hier: http://msdn.microsoft.com/de-de/magazine/dd419663.aspx ist wirklich gut um ein einstieg zu finden denk ich
    sind zwar viele besonderheite nicht dabei - aber wie gesagt - nur zum einstieg

    man lernt denk ich nur wenn man eine eigene kleine app schreibt und damit anfaengt _nie-niemals-nich_ in die code behind zu schreiben
    dann wirst du sehr schnell auf ein erstes problem stossen - das versuchst du dann elegant zu loesen (evtl auch mit hilfe von andern) und dann gehts weiter

    das wird schon

    chrische5 zb lernts auch grad - und ich hab das gefuehl das er ziemlich schnell keine hilfe mehr brauchen wird {=
    dravere wolltes glaub ich auch lernen - weiss grad nicht mehr - und firefighter - ich glaub er hat keine zeit das zu machen (oder aufgegeben - weiss nich)

    Genau den Link las ich doch es kam mir Spanish vor. Danach habe ich mir die 09/2008 besorgt von msdn magazine um die RoutedEvents+Commands erst mal besser zu verstehen und das hier rockt:

    http://tanguay.info/web/index.php?pg=notesItems&id=28

    danke dir ich beiß mich durch!

    Karle der Beisser



  • jo - der link scheint gut zu sein - habs grad nur ueberflogen

    was mir dort wieder aufgefallen ist diese generische AttachedBehavior "funktionalitaet"
    sowas hab ich auch , aber in einer abgespeckten version - bei der publizierten generischen version gefaellt mir nicht das nur die CommandParameter uebergeben werden - nicht die eigentlichen event parameter
    so kann man es zb fuer Closing e.Cancel = true nicht verwenden , da man gar keine entsprechenden parameter bekommt

    ich wollte mir auch schon eine generische loesung ausdenken - bin aber noch nicht dazu gekommen - mir sind da nur zwei sachen wichtig - einmal das man auch kurz schreiben kann - und zum anderen das man die event parameter (evtl optional) bekommt
    wie gesagt - versuch ich spaeter mal

    genau das DelegateCommand
    das hab ich auch - klar - hat man bei mvvm eh
    nur da hab ich ebenso eine kuerzere version - in dem link ist ein beispiel mit DelegateCommand wo ich bisher kein mehrwert erkennen konnte - viele objekte die man - soweit ich das seh - gar nicht brauch

    aber wie gesagt - der link scheint gut zu sein {=


Anmelden zum Antworten