Hallo,
ich versuche gerade von Forms auf WPF umzusteigen.
Jedoch komme ich mit dieser XAML Oberfläche noch nicht ganz klar.
Im Designer hat die Form keinen Rand, lege ich einen Button nun oben Links oder Rechts in die Ecke, wird dieser zum Teil verschluckt weil ja der Rand beim Compilen entsteht...
Anderes, wenn ich z.B ein Frame mache oder ein DockPanel und dort ein Button, Canvas etc rein ziehe, wird das Objekt in die mitte Zentriert und kann nur noch vergößert/verkleinert werden, aber nicht verschoben. Was mache ich da falsch?
Gruß.
Hallo Exis,
zum ersten solltest Du Dich einmal ein wenig mehr mit den Funktionalitäten der einzelnen Layout Container beschäftigen.
zum zweiten würde ich Dir Empfehlen den Designer Links liegen zu lassen, denn mit ein wenig Vorstellungskraft und ein wenig Übung bist Du um einiges schneller wenn du den XAML Code direkt schreibst.
Viele Grüße
Lars Schmitt
Hallo Exis,
zum zweiten würde ich Dir Empfehlen den Designer Links liegen zu lassen, denn mit ein wenig Vorstellungskraft und ein wenig Übung bist Du um einiges schneller wenn du den XAML Code direkt schreibst.
Absolut! Schalt den Designer ab und lerne erstmal, was ein Dockpanel, Stackpanel etc. alles kann. Auch wenn das erstmal komisch ist, wird die Lernkurve erstmal kräftig ansteigen.
Lies vorher erstmal ein richtiges Tutorial oder ein Buch. Zugegeben ist die XAML-Struktur, wenn man sie noch nie gesehen hat, wirklich manchmal verwirrend. (Und wenn man sie dann mal gesehen hat ist sie manchmal dann immernoch ein A*loch, aber nur ganz selten 😉
Weiter arbeite, gerade wenn du von Forms kommst, mit dem MVVM-Pattern. Machs gleich richtig. Dann lernst du die Vorteile schnell kennen.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Oder du verwendest, das in zwischen mitgelieferte, Blend 😁
Der Designer von VS ist wirklich nur fürs grobe
Hi, du musst dann die Margin Eigeneschaft nutzen um den Button innerhalb des Panels zu verschieben 😃
Blend ist doch nur bei Visual Studio 13 Ultimate bei.
Ich habe aber lediglich nur Visual Studio 13 Express.
Danke an alle die geholfen haben. Ich muss mich dann wohl noch mit XAML befreunden...
Blend ist doch nur bei Visual Studio 13 Ultimate bei.
No, bei Prof auch.
Blend. Schau mal obs funzt. Aber das macht dir auch XAML. Und nachher blickst du genauso wenig. Machs selber 😉
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Ok habs, merke nun aber keinen Unterschied von der Oberfläche.
Und nochmal auf meine erste Frage, ich verstehe die Antwort von lars nicht so ganz.
Also wieso wird der Rahmen der Form nach innen erstellt beim Compilen, sodass Randobjekte abgeschnitten werden? Ist das nicht totaler mist was VS da macht?
Gruß.
Hi Exis,
zum ersten solltest Du Dich einmal ein wenig mehr mit den Funktionalitäten der einzelnen Layout Container beschäftigen.
Was ist daran nicht zu verstehen? Belies dich doch erstmal über die Technologie, die du verwendest, bevor du Microsoft "totalen Mist" vorwirfst. Deine Beschreibung (Elemente reinziehen) vermittelt jedenfalls nicht den Eindruck, daß du weißt, was du machst. So funktioniert weder WPF noch Windows Forms.
Und so kann man dir leider auch nicht helfen, denn aus der Beschreibung kann man schlecht auf die Ursache des Fehlers schließen. Siehe dazu auch [Hinweis] Wie poste ich richtig?, Punkt 1 und 5.
Christian
Weeks of programming can save you hours of planning
Ein Bild wo man es sieht. Rechts der Designer wo der Button ganz da ist und in der erzeugten Form ist dieser abgeschnitten.
Ich habe in Windows Forms immer nur das grobe gemacht.
Gruß.
Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 6.1
Hallo Exis,
das haben wir schon verstanden 😉.
auch wenn du "nur das grobe" gemacht hast. Du willst mit WPF anfangen. Dann tus, ohne dich vorher drüber zu beschweren. Lass den Designer weg, dann hast du mehr Freude.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hey hey.
Füge ich über den Editor den Button hinzu und setze diesen an den Rand, ist dieser auch abgeschnitten in der Form. Ich lasse gerade ja den Designer komplett aus.
Ich möchte halt wissen wieso genau, wieso wird der Border nach innen erzeugt? Ist es von der Überlegung nicht doof?
Gruß.
Hallo,
die Leutre hier wollen Dir sagen dass Du die Container erst einmal richtig lernen sollst. Also in Deinem Fall die Elemente nicht direkt positionieren, sondern vllt ein DockPanel verwenden.
Wenn du mit einem Designer Arbeiten willst, kannst dir auch mal den von SharpDevelop anschauen! Für einfache Sachen ist der recht brauchbar, und auch oft schneller wie der von Visual Studio! Aber geht halt auch nicht alles was man in VisualStudio machen kann...
cSharp Projekte : https://github.com/jogibear9988
übrigens nochmal zum Designer: ich verwende den durchgehend, allerdings anders als in Winforms.
Der Wpf-"Designer" ist für mich nur eine Vorschau und ein Tool zum Anwählen von Controls - dann springt er nämlich im Xaml auf die richtige Position.
Niemals aus der Toolbox ein Control auf den Designer ziehen!
Es ist so gut wie ausgeschlossen, dass der Designer daraufhin brauchbares Xaml generiert.
Die Controls also immer selbst ins Xaml eintragen, an die Stelle, wo sie hingehören.
Dann erscheinen sie auch im Designer an der rechten stelle.
Jo, und dann sich halt ins Layout-System einarbeiten. Also sowohl die Container durchprobieren: v.a. Grid, Dockpanel, StackPanel, aber auch Layout-Einstellungen der Controls, sowas wie Alignment.Stretch oder .Right oder .Left.
Dem bösen Button da oben könnte man glaub beikommen mit HorizontalAlignment.Right und VerticalAlignment.Top. Dann sitzt er oben rechts.
Dann kann man noch ein Margin dran machen, dass er sich nicht so in die Ecke drückt.
Ja - so ist ungefähr die Denke...
Der frühe Apfel fängt den Wurm.
Ah SharpDevelop, super IDE. Habe die damals immer genutzt, keine ahnung wieso ich auf VS wieder umgestiegen bin. Schaue mir gerade SharpDevelop wieder an mit XAML, der Editor dafür sieht irgendwie besser aus, habe das Gefühl die Formatierung dort ist flüssiger und besser.
Was soll mir denn VS in WPF mehr bieten können als SharpDevelop?
@ErfinderDesRades danke, so ne Antwort habe ich gesucht.
Gruß.
Hat SharpDevelop-Xaml-Editor auch ein Property-Fenster, und v.a. unterstützt es auch Binding-Picking im Xaml-Editor (folge dem Link)?
Hab ich zu erwähnen vergessen bei meiner Laudatio des Xaml-Designers.
Dabei ist das noch das allerwichtigste.
Der frühe Apfel fängt den Wurm.
Das mit dem Property Fenster ist leider nicht da.. schade.
Das mit dem Binding-Picking weiß ich nicht. Das muss ich mir erstmal anschauen.
Was mir am SharpDevelop Editor mehr gefällt ist, dass die Formatierung Zeile für Zeile ist und nicht wie bei Visual Studio in einer Zeile.
Und ich bin gerne mal Faul und erstelle die Methoden über das Property-Fenster und in SharpDevelop werden die dann ohne Unterstrich erzeugt, ich habe in Visual Studio nie eine Option dazu gefunden.
SharpDevelop: btnCreateUserClick
VS: btnCreateUser_Click
Gruß.
SharpDevelop: btnCreateUserClick
VS: btnCreateUser_Click
Weiter arbeite, gerade wenn du von Forms kommst, mit dem MVVM-Pattern. Machs gleich richtig. Dann lernst du die Vorteile schnell kennen.
Das Problem stellt sich mit MVVM erst gar nicht.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck