Einmal schrumpft das Fenster bei MouseLeave in der Höhe zurück und manchmal bleibt es einfach in voller Höhe dargestellt. Manchmal wird es aber auch gar nicht ausgeklappt. Das Animieren der Width Eigenschaft passt eigentlich immer.
Wie kann es denn zu so einem nicht deterministischen Verhalten kommen?
Ich hätte die Realisierung einer einfachen Fensteranimation eher als Stärke von WPF gesehen. Das Verhalten ist für mich aber sehr "strage".
Ich versuche das MainWindow meiner Anwendung über XAML zu animieren.
Konkret versuche ich das MainWindow bei MouseOver über XAML zu vergrößern und zu verschieben.
Auf der Suche nach Beispielen und Tutorials wurde ich leider nicht fündig. Alle Beispiele beziehen sich auf das Animieren von Elementen innerhalb des MainWindows.
Kann es sein, dass das MainWindow über XAML gar nicht selbst animiert werden kann?
Andere tun das nicht und wollen nur andere Leute einspannen, um ohne eigenen Aufwand eine funktionierende Lösung zu bekommen.
Da hast Du natürlich schon recht. Aber schau mal, wie wenig Fragen ich in der langen Zeit im Forum gestellt habe. Ich gehe in der Regel immer wie folgt vor:
- vorhandene Bücher
- Google
- Foren lesen
--> Frage im Forum stellen
Manchmal steht mal halt auch bei vermeintlich einfachen Dingen so richtig auf dem Schlauch...
So wie auch ich leider immer noch :-(
Ich habe jetzt folgende Expression:
\b^START\s\b(?=(\w|\s){7})\w+\s*\.W(\s)(\bEND\b|\bFINISH\b)
Die Funktioniert bis auf eine Ausnahme (hoffe es ist wirklich nur eine). Der Teilstring "HELLO .W" darf bei mit mindestens 9 Zeichen lang sein. Die maximale länge wird aber scheinbar nicht richtig geprüft. Hat jemand eine Idee, was ich an meinem Ausdruck noch verbessern kann?
Ich möchte eigentlich nur HELLO .W auf die Länge von 9 Zeichen prüfen. Das funktioniert aber mit meiner oben gezeigten Expression noch nicht richtig. Muss ich da noch ein $ setzten, oder?
Übrigens, das ^ bei START habe ich drin, weil START der erste String in der Zeile ein muss. Ohne dieses Zeichen werden führende Leerzeichen akzeptiert. Das möchte ich aber nicht. Habe ich das dann so richtig gemacht?
@herbivore:
Das war auch mein erster Gedanke. Das ist leider falsch.
Diese Abfrage würde "ABC DEF.W" erlauben. Leerzeichen dürfen aber nur am Ende und vor dem .T vorkommen (müssen aber nicht).
Vielen Dank Paladin007. Deine Tipps sind wirklich sehr hilfreich!
Die Klammern habe ich noch drin, weil man so im https://regex101.com/ schön die resultate der einzelnen Gruppen sieht. Das hätte ich dann später auch wieder entfernt.
Zitat
Was Du tust: Du verlangst einmal \w und danach entweder \w oder \s in beliebiger Reihenfolge und maximal 6 mal.
Jetzt kommen wir der Sache schon näher. Das kann ich so nicht benutzen. Wenn ich nach \w 6 mal \w oder \s zulasse würde ABC DEF.W auch akzeptiert werden. Das darf ich aber nicht akzeptieren.
erstmal vielen lieben Dank für all die Mühe. Es ist aber leider noch nichts passendes dabei.
\s* kann ich ja nicht verwenden, weil ich nicht beliebig viele Leerzeichen zulassen kann.
Ich versuche nochmal mein Kernproblem besser zu beschreiben.
- Der gesamte String darf aus 9 Zeichen bestehen.
- Die letzten beiden müssen immer .W sein
- Das erste muss \w sein (danke Palladin00)
--> Jetzt kommt das eigentliche Problem:
Jetzt sind noch 6 Zeichen in der Mitte übrig.
\s* darf ich nicht machen weil nicht beliebig viele Leerzeichen vorkommen dürfen
\s{n} kann ich auch nicht machen, weil ich n nicht kenne.
Das Problem ist also, dass ich 6 Zeichen habe die mit \w anfangen und eventuell (muss nicht sein) mit \s enden. Ich weiß nicht wie viele Zeichen und wie viele Leerzeichen da kommen. Ich weiß nur, dass es an der Stelle insgesamt 6 sind und Leerzeichen nur am Ende erlaubt sind. Sorry, aber das ist echt schwierig zu erklären.
@Palladin007: Eigentlich ist RexEx nicht notwendig. Aber ich bewundere das Problem :-) und bin extrem neugierig ob das mit RegEx überhaupt lösbar ist.
@Herbivore: Mein Problem ist, dass ich die ganzen Tutorials bereits gelesen habe, mein Problem damit aber nicht lösen kann.
Hallo zusammen. Ich versuche gerade schon eine Weile mit Hilfe von Google folgendes zu realisieren:
Ich habe folgenden String:
"HALLO .W"
Folgendes ist zu prüfen:
- Die Größe des Strings müssen genau 9 Zeichen sein
- Die Letzten beiden Zeichen müssen immer .W sein
- Das Erste Zeichen muss [A-Za-z0-9] sein
- Dazwischen dürfen 6 mal [A-Za-z0-9] oder Leerzeichen sein
--> wobei nur am Ende (also vor dem Punkt) Leerzeichen erlaubt sind
--> und nicht zwingend ein Leerzeichen dabei sein muss
Beispiel für erlaubt:
"HALLO .W"
"H .W"
"HALLO12.W"
Beispiel für verboten:
" HALLO.W"
"H.W"
Das kann doch eigentlich nicht so schwer sein, aber ich komme leider nicht drauf.
Ich weiß z.B. nicht wie ich definieren kann, dass ich beliebig viele Leerzeichen haben darf, aber diese nur am Ende stehen dürefen.
Hat vielleicht jemand von den RegEx Cracks einen Tipp für mich?
Im Prinzip geht es genau darum.
Ich möchte das was die Interopt Schicht aus den unmanaged COM properties, methods and events macht prüfen.
Z.B. eine Methode in der COM DLL "GetFile(string fileName)" über die Interopt schicht aufrufen und prüfen ob das was in meinem C++ ATL Client noch funktioniert hat auch hier geht.
Dort wird beschrieben, wie man einen UnitTest für eine DLL oder EXE Datei erstellt.
Ich habe jetzt eine unmanaged C++ ATL COM DLL die in Verbindung mit der .NET Interoptschicht immer wieder Schwierigkeiten macht. Jetzt würde ich gerne einen UnitTest gegen diese COM DLL erstellen. Dummerweise muss man beim Erstellen des UnitTests ein Assembly angeben (exe oder dll). Wenn ich versuche die COM DLL hier einzubinden bekomme ich einen Fehler angezeigt:
One or more of assemblies you selected could not be loaded. Please check those assemblies are valid and try again.
Vielen Dank schon mal für die Auskunft. Das ist ja hoch interessant.
Ja genau, ich bin auf VS2010 beschränkt. Das bietet mir nur .NET 4.0
Mit dem Link komme ich nicht klar. Mit Type.GetType() bekomme ich die Properties der System.Exception Klasse. Die kann ich aber auch im Object-Browser nachlesen. Was ich brauche ist der Int32 Wert des HResults. Wie ich da ran komme ist mir immer noch total unklar.
Kann mir vielleicht jemand einen Code-Schnippsel schicken?
Ich hab mich schon wund-gegoogelt, ich find einfach nix zu dem Thema. Vielleicht suche ich mit den falschen Begriffen...