WPF in Winforms?

  • WPF

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    WPF in Winforms?

    Moin,

    Ich arbeite so ziemlich nur mit WinForm's + dann den Code dazu in C#.
    Habe mich also noch NIE mit WPF beschäftigt. WPF ist für mich absolut neuland und hatte auch noch nie einen solchen Code genauer angeschaut.

    Ist es möglich von einer Winform welche ich mit Steuerelementen von der Toolbox bestückt habe auf den automatisch generierten WPF-Code zugreifen? (Gibts da überhaupt einen der generiert wird im Hintergrund?!)
    (Würde eben ohne XAML zu lernen gerne was kleines ausbessern...)

    Oder kann ich WPF + Winforms nicht miteinander "verbinden" ?( Muss das von Beginn eines Projektes gewählt werden: WPF oder Winforms?

    Mich verwirrt das bisschen :huh: oder kann ich eine WPF-Form öffnen und diese mit C# wie üblich auch "beschreiben" ... Dann habe ich eigentlich nur Vorteile wenn ich eine WPF-Form zu Projektstart auswähle ?( (Genau gleicher Code, einzelne Details in WPF gestalten oder so :huh: )

    WPF =

    XML-Quellcode

    1. <Button x:Name="CmdHallo" Content="Button" HorizontalAlignment="Left" Margin="97,133,0,0" VerticalAlignment="Top" Width="75" Click="CmdHallo_Click" Background="Red"/>

    oder im C#-Code:

    CmdHallo.Background = System.Windows.Media.Brushes.Blue;

    Winform =

    C#-Quellcode

    1. CmdHallo.BackColor = Color.Red;


    Die Eigenschaft ist einfach kleinwenig anders ?(

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „newsletter“ ()

    WPF + Winforms sind 2 verschiedene Projekttypen im Visual Studio.
    Auch in WPF kannst du natürlich mit C# arbeiten - in den sog. Code-Behind Dateien - im Prinzip wie bei Winforms.

    Ich denke es hängt etwas von der Größe und Komplexität deiner Anwendung ab.
    Für ne Textbox und 2 Buttons braucht man nicht zwingend WPF, um es mal überspitzt darzustellen.
    Allerdings wirst du dich, falls du mit WPF arbeiten möchtest, erst in das Thema einarbeiten müssen.

    NoFear hat da ein super Tutorial dazu gemacht.
    Gruß Murdoc
    Naja aber ist doch "nur" die Oberfläche, welche WPF beschreibt...

    und es hat einen Dickeren Designer oder wie man das nennt das "Eigenschaftenfenster" rechts (im vergleich zu WinForms) - Den Code generiert es automatisch im unteren Bereich - Somit kann ich schauen wie das ungefähr aufgebaut ist...)

    Wie ich oben herausgefunden habe: es gibt unterschiedliche Eigenschaften-Bezeichnungen bei dem Designen der Form, wenn ich das richtig sehe (habe ich oben editiert)

    Alles andere bleibt eigentlich ziemlich gleich...

    Was für Nachteile habe ich denn wenn ich das Design mit dem Designer(Eigenschaftenfenster rechts) resp. ein Teil evtl. mit der Sprache "XAML" unten schreibe?
    Und den Code dazu mit C#...

    Sehe momentan nur Vorteile und sieht nicht kompliziert aus wie HTML 8| oder ändern sich die Steuerelemente? :/

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „newsletter“ ()

    Das beste wird sein du liest die Mal die oben verlinkten Tutorials durch und schaust dir Videos dazu. Das beantwortet deine Fragen ziemlich gut, und womöglich noch weitere aufkommende fragen.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.

    newsletter schrieb:

    Naja aber ist doch "nur" die Oberfläche, welche WPF beschreibt...
    Nein, würd ich nicht sagen.
    Die Programmierung einer Wpf-Anwendung ist - richtig angefasst - fundamental anders als die Programmierung einer WinForms-Anwendung.

    Allerdings kann man Wpf auch wie in WinForms programmieren, aber dafür ist Wpf nicht ausgelegt - daher wird solch ziemlich mühsam. Vor allem verschenkt man damit die hauptsächlichen Mega-Pluspunkte von Wpf.
    Und wies wohl immer ist, wenn man etwas erstmal falsch anfängt: Da wirds später ungemein schwer, umzudenken, bzw. man kommt sogar nie drauf, es irgendwann mal richtig zu machen.
    Natürlich schaue ich mir die ersten Tutorials mal an, damit ich den Aufbau checke :)
    Was ich nicht so ganz begreife... wieso erstellt der Designer kein x:Name="ButtonName"

    XML-Quellcode

    1. <Button x:Name="CmdHallo" Content="Button"/>


    Das ist doch ziemlich elementar wenn ich danach was schreiben will (CmdHallo_Click):

    C#-Quellcode

    1. private void CmdHallo_Click(object sender, RoutedEventArgs e)
    2. {
    3. }

    Auch in dem ersten Tutorial ist davon bis jetzt nichts erklärt... habe ja sonst bei:

    XML-Quellcode

    1. <Button Content="Button" HorizontalAlignment="Left" Margin="10,12" VerticalAlignment="Top"/>


    ein "Button_Click" Event:

    C#-Quellcode

    1. private void Button_Click(object sender, RoutedEventArgs e)
    2. {
    3. }


    Bei einem 2. Button ein

    XML-Quellcode

    1. Click="Button_Click_1"/>


    C#-Quellcode

    1. private void Button_Click_1(object sender, RoutedEventArgs e)
    2. {
    3. }

    Was ziemlich scheisse aussieht, wenn ich es nicht selbst immer von hand reinschreibe...

    Die Syntax selbst sieht aber nicht wirklich schwierig aus.. schön verschachtelt wie bei Html ...

    Vielen Dank für eure Antworten. Hat mir sehr geholfen.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „newsletter“ ()

    naja, in Wpf benutzt man das Click-Event vom Button überhaupt nicht. Und einen Namen brauchen die Buttons auch net.
    Stattdessen bindet man an seine Command-Property.
    Aber das muss dir alles chinesisch sein - wie gesagt: Wpf ist komplett anders.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()