Alt und bewährt vs. Neu und innovativ

 Windows Forms  vs. WPF …

 Kennen Sie auch das Sprichwort, dass Developer keine guten Designer sind? Vor allem Projektleiter trifft diese Problematik öfter, da sie die Aufgaben für ein gesamtes Projektteam sinnvoll verteilen müssen und oftmals keiner die GUI mit übernehmen will. Insbesondere bei WinForms ist es schwer, die grafische Benutzeroberfläche vom eigentlichen Programmcode zu trennen. In WPF hingegen kann die GUI komplett vom eigentlichen Programmcode getrennt werden.

Die Windows Presentation Foundation ist im Gegensatz zum bisher gängigen WinForms ein GUI Framework, welches auf allen Auflösungen und Größen gut dargestellt wird. Die gesamte grafische Benutzeroberfläche wird komplett vom Programmcode getrennt und kann so völlig unabhängig vom eigentlichen Programm entwickelt werden. Die GUI wird in der Auszeichnungssprache XAML (Extensible Application Markup Language) beschrieben. In XAML werden die Oberflächenhierarchien deklarativ als XML Code dargestellt. Somit ist es möglich, eine Version einer GUI für verschiedenste Technologien zu verwenden. Das Recyceln einer GUI ermöglicht eine effizientere Entwicklung, da man nun auf bereits bestehende Elemente einer Benutzeroberfläche zurückgreifen kann. Der XAML Code kann hierbei sowohl in einem einfachen Texteditor als auch in komplexen IDE’s wie Visual Studio entwickelt werden. Speziell für Designer bietet Microsoft das Softwarepaket Expression Blend an, wofür die ppedv auch einen zweitägigen Kurs anbietet, welches ein vielseitiges Baukastensystem für die Erstellung komplexer grafischer Benutzeroberflächen mithilfe von Drag & Drop bereitstellt.

Ohne tiefgreifende Programmierkenntnisse muss ich mit WinForms meine Grafische Benutzeroberfläche mithilfe des Baukastensystems zusammensetzen. Mithilfe von WPF bzw. XAML kann ich durch die leicht zu verstehende Syntax schnell und professionell Grafische Oberflächen in Form von Code schreiben.

Am folgenden Beispiel zeige ich wie leicht sich eine Grafische Oberfläche erstellen lässt. Für das Beispiel habe ich einen farbigen Button mit Farbverlauf, eine Textbox und eine Passwordbox eingefügt. Und jeder schonmal in WinForms einen Farbverlauf erstelle hat, weiß wie kompliziert das geht, doch in WPF eine Sache von vier einfachen Zeilen. Für die schönere Darstellung habe ich das ganze in 3 “Row” (Zeilen) aufgeteilt die egal bei welcher Fenstergröße in diesem dynamischen Verhältnis bleiben werden.

image

Und hier der XAML Code dazu.

   1: <Window x:Class="WpfApplication1.MainWindow"
   2:         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   3:         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   4:         xmlns:ee="http://schemas.microsoft.com/expression/2010/effects"
   5:         Title="WPF-Beispiel" Height="350" Width="525">
   6:     <Grid>
   7:         <Grid.RowDefinitions>
   8:             <RowDefinition></RowDefinition>
   9:             <RowDefinition></RowDefinition>
  10:             <RowDefinition></RowDefinition>
  11:         </Grid.RowDefinitions>
  12:         <Button Grid.Row="0" FontSize="30" Content="Das ist ein farbiger Button" Margin="10" >
  13:             <Button.Background>
  14:                 <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
  15:                     <GradientStop Color="Red" Offset="0"/>
  16:                     <GradientStop Color="Yellow" Offset="1"/>
  17:                 </LinearGradientBrush>
  18:             </Button.Background>
  19:  
  20:         </Button>
  21:         <TextBox Grid.Row="1" FontSize="30" VerticalAlignment="Center" HorizontalAlignment="Center">Das hier ist eine Textbox</TextBox>
  22:         <PasswordBox Grid.Row="2"></PasswordBox>
  23:     </Grid>
  24: </Window>

Mit WPF habe ich nicht nur die Möglichkeit leicht, anspruchsvolle dynamische Grafische Oberflächen zu erstellen, zusätzlich steht mir noch ein breites Spektrum an Effekten und Designmitteln zur Verfügung sowie vielseitige Möglichkeiten von Animationen. Die Effekte und Animationen kann ich entweder über XAML oder aber auch über den eigentlichen Programmcode steuern. Wer mehr über die ganze Thematik wissen will kann sich gerne den 4 tägigen WPF Kurs der ppedv anschauen.

Viele werden sich jetzt denken:”Warum soll ich von meinem funktionierenden System jetzt umsteigen und was neues verwenden?”. Die Antwort ist eigentlich ganz einfach:”Mehr Möglichkeiten, bessere Anpassung an alle Auflösungen, dynamische vektorbasierte Darstellung und vieles vieles mehr”.

Kommentare sind geschlossen