DataContext für MainWindow will nicht... Das Objekt des Typs "System.Windows.Application" kann nicht


#1
Hi.

Und HILFE...

Weil mir der Titel nicht so recht einfiel habe ich das hier wohl besser auszuführen.

Also Meine Applikation ist ".net 4.6 VB", ich nutze VS 2015 und ReSharper.

Ich nicht viel gut in MVVM...

Also ich erstellte eine MVVM App und wenn ich meine Ordner erstelle, gehe ich immer gleich vor.

Erstellen der Ordner:
"Views"
"ViewModels"
"Models"

Dann verschiebe ich die MainWindow.xaml in Views und ändere in Application.xaml die StartUpUri "Views/MainWindow.xaml".

Das geht ja auch.

Alle anderen ViewModels und Views arbeiten wir gewollt (Mit Vorbehalt).

Also wenn ich nun den DataContext setze, kommt diese Meldung.

Code:
Das Objekt des Typs "System.Windows.Application" kann nicht in Typ "CrypticToolsGui.Application" umgewandelt werden.
Wie schon bemerkt, ist Der Projektname "CrypticToolsGui".

Ich habe das Projekt schon 5 mal neu erstellt, und bekomme immer den selben Fehler.

Ich kann bei besten Willen nicht nachvollziehen warum das passiert.

Ich will gerne meine DataContexte in XAML setzen.
Habe natürlich die Contexte in CodeBehind gesetz.

Also es ist nicht so das die Applikation nicht läuft, es ist ist nur doof wenn ich nix im designer sehen kann...

Also nochmal "Ich nix sprechen viel gut MVVM." :(

Also folge von dem Vermute ich auch folgen für eine weiteres ViewModel.

Ich erstelle diese im MainWindowViewModel und im Konstruktor erstelle ich neue Instanzen meine Kind ViewModels und lege sie und Eigenschaften ab.

Ich kann auf ein ViewModel Daten übertragen, aber der selbe Code geht bei der anderen nicht.
Es kann auch sein das die Fehlerquelle gerade das hier eintippt.

Aber komisch ist das schon.

Wer mir helfen könnte wäre so was von mein Held. Ich schwöre...

Danke im Voraus.

Joshmann aus HH
 
#2
Update:

Das Ding nervt so was von...

Ich habe Visual Studio einer Reparatur Installation unterzogen.
Habe ReSharper deinstalliert, und dann das Projekt ganz gemächlich mit Copy / Paste Datei für Datei zusammen gesetzt.

Und siehe da, keine Fehlermeldung mehr.
Irgendwann habe ich ReShaper installiert und upgedatet.
Habe die Setting Dateien von ReSharper noch gezielt gelöscht (%AppData% und im Projekt).

Dann habe ich ca. eine Stunde daran rumgehackt, und wollte eine ObservableCollection(Of ViewModelBase) erstellen,
um meine ViewModels in einer Auflistung zu haben.

Und dann... Spannende Musik... Der Fehler ist wieder da!

Auch mit rückgängigen schritten keine Änderung.
Ich weiß nicht ob das einfach so passiert ist oder es mit der ObservableCollection zu tun hat.

Ich kann daran arbeiten, daher kann das Thema als erledigt gelten.

Wer mir aber ein gutes Tutorial für die richtige Verwendung von mehreren ViewModels im MainWindowViewModel hier Verlinken kann, der bekommt von mir 15 Sternchen.

Ich würde gerne auf ein Framework verzichten (MVVMLight ist nix mehr für VB...).

Danke für die Aufmerksamkeit und Happy Coding.

P.S.: Hat jemand gestern Marty McFly gesehen?

c.u. Joshmann
 

Spyke

Capoeirista
Premium-User
#3
Hab Marty verpasst, bin da gerade Zurück in die Vergangenheit gereist :D

Hatte auch mal ReSharper drauf, verstehe aber nicht warum da leute so begeistert von sind mich hat das ding nur genervt, nach 2 tagen wars wieder runter.
Und hab halt schon gesehen das Kollegen Probleme mit dem VisualStudio duch ReSharper hatten und nach deaktivierung lief wieder alles.

Tutorial hab ich leider nicht sry, bin auf WinForms (und jetzt bissl WebService) unterwegs.
 
#4
Verdammt Marty, jetzt hamm´ wir schon Hover Boards...

Ich kann ReShaper nicht wirklich ab, aber nach einigen Features leck ich mir die Finger.

z.B.: Das erstellen von Eigenschaften mit Groß- und Kleinschreibung geht nicht in Visual Studio, daher nehme ich ReSharper.

Beispiel:
Code:
    Private _userVersionString as String

    Public Property UserVersionString as String
        Get
            Return _userVersionString
        End Get
        Set(ByVal value as String)
            _userVersionString = value
            NotifyPropertyChanged("UserVersionString")
        End Set
    End Property
Ich habe versucht die Codegenerierung mit _userVersionString und UserVersionString zu automaisieren.
Nix! Wenn das ginge, wäre ich wohl weg von ReSharper.

Zum Thema WinForms, muss ich meine Senf dazugeben.
Ich bin echt schweren Herzens auf WPF umgestiegen, aber die Dinger sind so was von geil...
Ich meine mit Dinger die Controls, obwohl einige davon so was vom doof wirken im Gegensatz zu den gleichen WinForms Controls.

Aber es lohnt sich.
Als bestes Beispiel ist das Selbst zeichnen von ListBoxItems in WinForms, das ist in WPF so was von anders, aber auch leichter.
Ich habe jetzt 4 Jahre mit WPF zu tun, und komme nur schwer damit klar, wenn es um Dinge geht die ich in WinForms aus dem Ärmel geschüttelt habe.

Und MVVM ist so was von schwer erklärt in den einschlägigen Webseiten, das ich voll das Konzept bisher nicht in den Kopf "krich" (Hamburgisch für kriege/bekomme...) .

Ich habe dann von Hr. Biswanger gehört, und der erklärt das sehr gut in seiner Video Reihe.
Ist keine Werbung aber da hab ich am meisten mitgenommen.
Der nette Hr. Eder ist ja hier im Forum die Macht was .NET angeht... auch sehr gut darin das klar zu machen.

Ich kann den Umstieg nur Empfehlen, aber dauert ein wenig um die alten Gewohnheiten des WinForms abzulegen.

Und sollte jemand auf die Idee kommen umzusteigen, versuch es gleich mit MVVM, dann seid Ihre auch gewappnet um alle Plattformen bedienen zu können.
Xamarin muss da wohl erwähnt werden, scheint wohl jetzt die Mode Erscheinung zu sein.

Und eine bitte an alle, wechselt doch bitte zurück zu Visual Basic. Aber ganz schnell, ich habe schon ein Abo bei SnippetConverter und Konsorten... (Auch keine Werbung...)
Letztens haben die mir eine Pizza und eine Schlaftablette geschickt... lol

Also noch viel Spaß beim Proggen und so...

Joshman