Suchergebnisse

Suchergebnisse 1-22 von insgesamt 22.

  • Benutzer-Avatarbild

    Hallo Skeks Das Fehlverhalten liegt einfach daran das KEIN Content im TabItem enthalten ist. Selbst wenn du ein Label in das TabItem gibst ist das Verhalten so wie du es willst. PS: Wenn du MVVM einhalten willst hat folgende Zeile NICHTS in einer ViewModel Klasse zu suchen. ​ Private _childWindow As New ChildWindow Das ViewModel DARF DIE VIEW NICHT KENNEN. Solltest du nun das ViewModel in eine eigene Assembly auslagern (was man ja normalerweise im MVVM auch macht) stehst du schon an. Hier sollte…

  • Benutzer-Avatarbild

    Hallo ​Schön das du für Veränderungen offen bist. Das ganze mit Dialogen, Messageboxen (Ja, die haben im VM auch nix verloren), Mousecursor usw. macht man über Services. ​Unter anderem ist das Ziel beim MVVM ja das die einzelnen Teile austauschbar sind. Mit deinem Ansatz kannst du die Views ja nicht tauschen. ​Gerne mach ich dir ein Beispiel so wie du es oben hast, nur ohne eine Referenz auf das View und in getrennten Assemblys. ​Geht sich nur heute leider nicht mehr aus. Melde mich dann morgen …

  • Benutzer-Avatarbild

    Hallo @SKeks Ich hab dir mal ein kleines Demo gemacht wie ich das meine. Nun hat das ViewModel keinerlei Referenzen auf die Views oder ein PresentationFoundation oder anderes. Es ist auch eine eigene Assembly. Nun könntest du eine Windows Phone oder eine Windows 10 App machen und genau das selbe ViewModel verwenden. Die App muss dann nur die Serices erstellen. Fertig. Während in der Windows Desktop App eine Messagebox kommen würde, würde die Windows Phone App dann einen MessageDialog zeigen weil…

  • Benutzer-Avatarbild

    Hallo Gerne. Ich habe versucht es einfach zu halten. Auch habe ich absichtlich keinen OpenFileDialog eingebaut. Du kannst ja mal versuchen dieses Service selbst du integrieren. Brauchst ja nur wie ich ein Interface und ein Klasse dafür zu erstellen welchen das Interface implementiert. Versuchs mal. Ist im Grunde einfach. PS: Schau auch in die Application.xaml. Dort sind auch DataTemplates drinnen. Wenn du fragen hast frag nur. Grüße Sascha

  • Benutzer-Avatarbild

    Hallo Zitat: „So arg viel unterscheiden sich die beiden Lösungen nicht “ Doch, enorm sogar. Weil das VM nicht svom View weis. Das regelt die WPF über das DataTemplate. Du sagst ihr welches VM du mit welchem Control gerendert haben willst. Zitat: „Wie machst du das mit dem Binding wenn du den DataContext erst zur Laufzeit festlegst? Schreiben und hoffen, dass kein Schreibfehler drin ist oder kann man damit auch irgendwie VisualStudio zum Binding picken nutzen? “ Klar. WENN du den DataContext auf …

  • Benutzer-Avatarbild

    Hallo Zitat: „​Nehmen wir an ich habe ein recht umfangreiches Viewmodel mit vielen unterschiedlichen Eigenschaften. Dies möchte ich in mehreren thematisch unabhängigen Fenstern bearbeiten (jedoch hängen die Eigenschaften im Viewmodel/Model eng zusammen), weswegen hier eine Trennung nicht ganz so einfach ist.“ ​Ich denke ich weis was du meinst. Angenommen du willst mehrere View z.b. für die Kundendateneingabe haben. Evtl. einen View für die Schnelleingabe und einen View zum bearbeiten. Hier kanns…

  • Benutzer-Avatarbild

    Hallo ​Entweder ich verstehe nun dein Vorhaben nicht ganz oder ich stehe gerade voll auf dem Schlauch. ​So handelst du dir echt Probleme ein. Wenn du für den Designer einen Context angibst der zur Laufzeit ein anderer sein kann hast du Probleme mit dem Binding. ​Selbst wenn das VM welches zur DesignTime angegeben wird die selben Properties hat kannst du dich irgendwann vertun. ​Beschreib doch am besten Anhand eines Beispiels was du erreichen willst. Mit Beispiel meine ich: "Ich habe 2 Control, e…

  • Benutzer-Avatarbild

    Hallo ​Habe nun das Beispiel heruntergeladen. Was willst du nun bewerkstelligen?? Es gibt 2 Button "Childwindow 1" und "ChildWindow 2". ​Das ein geht auf mit einem Rectangle als Inhalt und das andere mit einem Text. Was willst du erreichen?? Das hast du leider im letzten Posting nicht erklärt. ​Sorry, das mit dem parameterlosen Constructor habe ich leider nicht erwähnt. ​Wenn ich weis was du am Ende erreichen willst kann ich evtl. einen Weg finden wie dies einfach möglich ist. Am besten anhand e…

  • Benutzer-Avatarbild

    Hallo Jetzt weis ich was du machen möchtest. Dachte ich mir fast. So umständlich musst du es gar nicht machen. Die IWindow Schnittstelle musst du hierfür gar nicht verbiegen. Das geht in der WPF mit Triggern. Ich habe mal ein Beispiel erstellt. In diesen gibt es im PersonVM ein Property OpenInSecondView wenn du dieses auf True setzt Rendert die WPF nun ein anderes Control. Es gibt PersonView1 und PersonView2. Im 1er wird Vorname, Nachname und Haarfarbe behandelt. Wenn du nun im PersonVM OpenInSe…

  • Benutzer-Avatarbild

    Hallo, ​freut mich das es das war was du brauchtest. Ja, die Lernkurve ist etwas flach wenn man WPF lernt. Aber es lohnt sich. Alleine durch die ganze Templates bist so sooo viel flexibler als bei Winforms. ​Wen ich nur zurückdenke wenn ein Control von der Optik her nicht passte, und man im OnPaint das ganze zeichnen musste. Horror!!! Zitat: „​Ich arbeite es mal ein und schau was passiert, wenn ich den Rest der Fenster und Dialoge anpasse. “ ​Das passt so. gibt natürlich noch mehr Wege, du kanns…

  • Benutzer-Avatarbild

    Hallo Da gibt es mehrere Möglichkeiten. MVVM verbietet ja jetzt nicht explizit CodeBehind. Also könntest du theoretisch beim Button_click das Fenster schliessen und auch im ViewModel den Savecomand ausführen. Gibt aber auch die Möglichkeit über sauberes MVVM. Du hast ja ein Window als MyWindow.xaml. Dieses weis das es IMMER eine IWindowVm bekommen wird. Du könntest ja in die IWindowVM Schnittstelle ein Event CloseWindow hineinpacken. Im MyWindow packst du dann im Loaded Event ein AddHandler ein …

  • Benutzer-Avatarbild

    Hallo ​Zitat: „​wäret ihr beide daran interesssiert, zu erlernen, wie man den Wpf-Designer stärker als wirklichen Designer nutzen kann?“ ​Na auf jeden Fall. Bin IMMER für was neues. ​Ich weis nur nicht ganz was Ihr mit dem Binding-Picking meint. Das ist doch das Quadrat im PropertieWindow wo man draufklickt und das Binding holen kann. Funzt doch wunderbar sobald man den DesignTime DataContext festlegt. ​Wobei ich sagen muss, persönlich tippe ich immer. Wenn der DesignTime Context drinnen ist hab…

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „Deswegen gab ich doch den Link - musste halt auch folgen, und mal ins Video reingugge. “ Habe ich, Danke. Ich weis das man Links folgt. Genau deshalb war ich verwirrt, da wir das ja drin hatten. Aber das war nicht die Fragestellung weshalb ich es beim ersten Beispiel nicht eingebaut hatte. ​Man muss ja niemanden gleich mit Infos erschlagen oder? Du musst dir hald das letzte Beispiel herunterladen. Also, was funzt in diesem Model jetzt nicht? Zitat: „​also soo alles p…

  • Benutzer-Avatarbild

    Zitat: „​Also ich guggemol weiter“ Top ! ​Freu mich, bin immer offen für Vorschläge wie es besser geht, oft sieht man ja den Wald vor lauter Bäumen nicht. PS: Sollen wir hierfür einen neuen Thread machen?? Grüße Sascha

  • Benutzer-Avatarbild

    Zitat von SKeks: „Oder man formuliert den Rückgabetyp beim Dialog als Nullable(of Boolean)“ Oder man baut den Enumerator einfach nach wie ich es mit ​EnuMessageBoxResult oder ​EnuMessageBoxButton oder mit ​EnuMessageBoxImage gemacht habe. Ist am saubersten. Grüße Sascha

  • Benutzer-Avatarbild

    Hallo Danke für die mühe. Ich fang mal so an wie ich die Files geöffnet habe. 1.) NotifyPRopertyChanged- Warum ICloneable implementieren? Mir ist klar was ich damit machen kann. Aber: Habe ich jetzt einen Denkfehler. Die RelayCommand Schnittstelle hat keinen Parameterlosen, somit kann keine VM Klasse welches ein RelayCommand verwendet kopiert werden oder? fände ich cool wenn das ginge. Ich bilde mir ein das ich da mal gegen eine Wand gelaufen bis, kann aber sein das ich das jetzt verwechsle. - W…

  • Benutzer-Avatarbild

    Zitat: „​Wer sagt das? Du? Weisst du... überzeugen kann man mich so nicht. Bring Argumente, nenn mir nachvollziehbare gute Gründe.“ ​Nein, ich sage das nicht. Siehe mein Edit. Wie war das mit Links folgen ​Weist du. Ich finde es gut wenn mir jemand etwas aufzeigt was ich falsch oder schlecht mach. Aber wenn DU, der immer von sich behauptet das sein Code ach so perfekt ist hier ein Beispiel hochladest wo das ViewModel das View kennt dann muss ich sagen. Gut für dich das es geht, richtig ist es je…

  • Benutzer-Avatarbild

    Hallo Leute @SKeks Zitat: „​Klar muss die View für sich entscheiden wie sie was rendert, aber ich hätte das trotzdem gerne zentral gesammelt wie zum Beispiel in Application.Ressources. Wenn ich über das VM sagen kann welches Control genutzt wird warum ein weiteres Lay einführen? “ ​In meinem Beispiel habe ich ein weiteres Usercontrol dazwischen. Geht allerdings auch direkt wie duu willstin der Application.xaml. Probiers mal. Funzt. Dann hast du wieder alles auf einem Platz. Zitat: „​kannst du da…

  • Benutzer-Avatarbild

    Hallo ​Danke für den Hinweis. ​Habe ich jetzt getestet und ausgebessert. Ich muss dir sagen das ich keine Ahnung habe warum ich das drinnen hatte und weis auch nicht wie das zu stande kommt. Voll logisch das das Quatsch ist. Was nur komisch ist. Ich habe es nie bemerk und es funzt alles. Auch MemoryLeaks konnte ich keine verzeichnen. Danke dafür!! ​Aber genau deshalb ist es ja gut wenn man hier und da Code austauscht, ich persönlich finde es Klasse zu sehen wie andere ein Problem lösen. ​Außerde…

  • Benutzer-Avatarbild

    Hallo Zitat: „AddHandler/RemoveHandler sind ein logisches Pärchen, und man (ich zumindest) programmiere einen Pair-Teil meist mit Copy&Paste, und stell den dann um“ Gut möglich mache ich aber fast nie, genau aus solchen Gründen. Aber vielleicht war ich mal nicht konsequent. Danke nochmals für den Hinweis. Zitat: „Mein RelayCommand ist glaub in meim Tut mit drinne“ Muss ich mir ansehen, Danke! Zitat: „Aber das sind so Feinheiten, warum ich keines der vielen MVVM-Frameworks verwende, sondern liebe…

  • Benutzer-Avatarbild

    Hallo @SKeks Sorry das ich dir das mit den Messages noch nicht gemacht habe. Echt viel zu tun im Moment. Habe aber nicht vergessen. Ein Interface deshalb weil das ViewModel die Klasse wo du dann das Fenster aufmachst (im Projekt mit der App) ja nicht kennen darf. Schau dir mal das an. Echt Interessant. ​Ist zwar jetzt nicht tiefer erklärt aber man kann ganz gut verstehen wofür diese Grundlegend sind. blog.codeinside.eu/2007/11/28/…auf-simple-art-und-weise/ ​Aber wenn du anfängst z.b. Pluginschni…

  • Benutzer-Avatarbild

    Dann müsstest du im VM aber einen Verweis auf die exe haben. Probiers mal!!