.NET Blog   ·   .NET Casts   ·   .NET GUI Foren   ·   .NET BlogBook   ·   WPF Blogger   ·   visual studio one   ·   ASP.NET professional

  • ACHTUNG - NEUES BLOG

    Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
Download .NET Essentials Installer
Trickkiste

WPF Teil 2: Windows Presentation Foundation oder doch lieber Windows Forms?

24.10.07 - Entwicklung, Diskussionen, .NET, WPF
Beitrag von Norbert Eder
 Bisherige Teile:
WPF Teil 1: Die Windows Presentation Foundation aus der Sicht eines Unternehmens

Im ersten Teil der WPF-Serie wurde das Thema WPF und Unternehmen behandelt. Nun stellt sich aber nicht nur in Unternehmen, sondern auch in privaten Projekten die Frage: Soll ich mein Projekt mittels der Windows Presentation Foundation umsetzen oder doch lieber zu den bekannten Windows Forms greifen? Dieser Artikel versucht auf diese Fragestellung genauer einzugehen.

In vielen Artikeln wird Windows Forms immer noch WPF vorgezogen. Die Gründe hierfür sind meist dieselben:
  • Funktionsweisen sind bekannt
  • Einschränkungen sind bekannt
  • Windows Forms Designer ist ausgereift
  • Entwicklungsaufwand geringer

Grundsätzlich stimmen diese Argumente. Auf der anderen Seite ist jedoch zu beachten, welche Möglichkeiten WPF mit sich bringt. Diese sind Windows Forms auf jeden Fall überlegen. Daher ist es sinnvoll die einzelnen Bereiche genauer zu hinterfragen.

Der Vergleich


Databinding
Die meisten Anwendungen sind sehr datenlastig. D.h. es werden Daten angezeigt, verarbeitet, verwaltet und dergleichen. Um diese Daten anzuzeigen wird oft Databinding verwendet. Hier sind die Möglichkeiten unter Windows Forms jedoch begrenzt. WPF hat diesbezüglich viele Erweiterungen erfahren, wodurch hier eindeutig ein Vorteil für die neue Technologie zu sehen ist.

Trennung Design - Code
Design, also das User Interface, kann unter WPF wesentlich leichter vom Code getrennt werden. Im Gegensatz zu Windows Forms ist es daher möglich, dass das Oberflächendesign wirklich von einem Designer/Grafiker übernommen wird. Im Idealfall sollte dieser zwar WPF (XAML) KnowHow haben, mit Hilfsmitteln á la Blend ist aber auch das nicht zwangsweise notwendig.

Probleme Designer
Unter Windows Forms kommt es immer wieder zu Problemen mit eigenen UserControls. Hier wurde zumindest von mir die Erfahrung gemacht, dass es durchaus vorkommen kann, dass der WinForm-Designer die Oberfläche komplett verwüstet. Controls, welche die Location bzw. Size komplett verlieren und daher im Designer nicht mehr aufscheinen, bis hin zu fehlenden Events etc. Diese Probleme sind in weiterer Folge im Designer kaum Herr zu werden, daher muss man wohl oder übel entweder auf ein Backup zurückgreifen, oder direkt im Code Hand anlegen. Auch hier sehe ich einen klaren Vorteil für WPF: XAML ist wesentlich einfacher und schneller editiert, als haufenweise Code im InitializeComponents etc. Zudem wird der Code nicht angerührt, wenn sich Änderungen im Design ergeben (sei es durch einen Fehler im Designer, oder durch einen menschlichen Eingriff).

Unterschiedliche Medien, Skins
Egal ob es um 3D-Effekte, um animierte Übergänge zwischen Grafiken, Videos etc. geht, ist WPF klar die Wahl Nummer 1. Hier hat Windows Forms kaum etwas entgegen zu setzen. Ebenfalls sind beispielsweise Skins mittels WPF wesentlich einfacher möglich.

Und wann jetzt Windows Forms?


Natürlich hat auch Windows Forms nach wie vor seine Berechtigung. Werden die neuen, von WPF mitgebrachten, Funktionalitäten nicht benötigt, gibt es keinen Grund, auf WPF umzusteigen. Vielmehr empfiehlt es sich dann, bei Windows Forms zu bleiben. Denn auch hier gibt es unzählige Vorteile:
  • Große Community mit vielen Hilfestellungen
  • Viele Online-Ressourcen, Artikel, Blogbeiträge, Beispiele, ...
  • zahlreiche 3rd Party Controls


Fazit


Grundsätzlich bleibt es dem Entwickler überlassen, wann welche Technologie eingesetzt wird. Die aufgezählten Punkte sollten einen kleinen Überblick liefern, in welchen Bereichen WPF die Nase vorne hat. Jedoch bleibt immer zu bedenken, welche Möglichkeiten die zu erstellende Anwendung tatsächlich nutzen soll und wird. Aufgrund dieser Entscheidung läßt sich auch sehr einfach feststellen, welche Technologie zum Einsatz kommt.

Schließlich muss noch eines angemerkt werden: WPF läßt sich auch in Windows Forms Anwendungen verwenden. Dies gilt auch in die andere Richtung:
WPF in Windows Forms verwenden
  3 Kommentare - 424 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Umfrage zu Windows Live

22.10.07 - Blog-Intern
Beitrag von Norbert Eder
 An dieser Stelle muss ich kurz "Werbung" für mein Live Blog machen: Hintergrund ist eine neue Umfrage durch die festgestellt werden soll, ob Windows Live Services nicht nur von Anwendern wahrgenommen werden, sondern auch von Entwicklern für diverse Projekte etc. herangezogen werden. Auf Basis des Ausgangs wird entschieden, ob der Anteil an Entwicklerthemen erhöht wird. Daher die Bitte um rege Teilnahme.
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Podcast zum Thema SubSonic

21.10.07 - .NET, Base Framework, ASP.NET, Datenverwaltung, Internet, Entwickler Podcasts
Beitrag von Norbert Eder
 Ab sofort steht der 7. Podcast von .NET Casts zur Verfügung. Diesmal wurde das Thema Datenzugriff mit SubSonic behandelt.

SubSonic works up your DAL for you, throws in some much-needed utility functions, and generally speeds along your dev cycle.

Weitere Informationen: Podcast #7: Datenzugriff mit SubSonic

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


.NET BlogBook Ausgabe 4: Inoffizielle HTML Version

17.10.07 - .NET, Grundlagen, Base Framework, WPF, ASP.NET, Datenverwaltung, Visual Studio, Allerlei, Microsoft Office, SQL Server, Internet, Community
Beitrag von Norbert Eder
 Auf die Reaktionen zum .NET BlogBook hin stelle ich hiermit eine HTML-Version zur Verfügung, welche auch ins Visual Studio oder die lokale Desktop-Suche einfach integrierbar ist. Wie auch bei der PDF-Version ist unerlaubtes Verteilen, Kopieren und Anbieten der Inhalte untersagt.

Download .NET BlogBook Ausgabe 4 HTML

  2 Kommentare - 616 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


BlogBook und Community - Gedanken und Anregungen

17.10.07 - .NET, Allerlei, Internet, Community
Beitrag von Norbert Eder
 Noch nichtmal 48 Stunden ist die vierte Ausgabe des BlogBooks erhältlich und schon kann ich ein erstes Resumée darüber schreiben. Und ich drücke es sehr einfach aus:

Gestern hatte ich Angst, dass es uns den Server zerlegt. Naja, so schlimm war es dann im Endeffekt nicht, aber die Zahlen (als Statistikmensch werde ich sicherlich dazu noch genauer posten) sind (für unsere kleinen Verhältnisse) durchaus beeindruckend.

Auch die Teilnehmerzahlen am Gewinnspiel sind durchaus beachtlich. Sehr zufrieden bin ich damit.

Danke


An dieser Stelle auch ein herzliches Dankeschön an das zahlreich erhaltene Lob als auch bezüglich der erhaltenen Anregungen. Dieses Projekt lebt von Motivation und diese ernährt sich von Lob, Kritik, Anregungen und Anteilnahme.

Eure Meinung ist gefragt


Kurz und bündig: Wer immer sich kurz Gedanken über das BlogBook gemacht hat, ob negativ, positiv oder neutral, einfach ein kurzes Mail an uns senden. Rückmeldungen helfen uns, Fehler zu vermeiden, Vorhandenes zu verbessern und in die richtige Richtung weiter zu arbeiten.

Ebenfalls würde mich interessieren, ob die von uns gewählte Form (PDF) die von Euch bevorzugte ist, oder andere Möglichkeiten lieber gesehen würden.

Gestiegene Downloadzahlen der dritten Ausgabe


Was mich allerdings ein wenig wundert: Durch die vierte Ausgabe sind auch die Downloadzahlen der dritten Ausgabe wieder mächtig gestiegen. Wird absichtlich die dritte Ausgabe herunter geladen oder liegt hier ein Versehen vor und aufgrund einer schlechten Kennzeichnung (oder was auch immer) wird die falsche Ausgabe bezogen?


  4 Kommentare - 455 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


.NET BlogBook Ausgabe 4 inklusive Gewinnspiel

15.10.07 - .NET, Grundlagen, Base Framework, WPF, ASP.NET, Datenverwaltung, Visual Studio, Allerlei, Microsoft Office, SQL Server
Beitrag von Norbert Eder
 Die vierte Ausgabe des .NET BlogBook ist ab sofort verfügbar. Nun mit weit mehr Informationen als jemals zuvor - geballt auf 275 Seiten.

Viele Bereiche wurden erweitert, unter anderem:
  • Base Framework
  • Windows Forms
  • ASP.NET
  • Tools

Zusätzlich sind auch neue Bereiche zu finden, beispielsweise:
  • Windows Communication Foundation
  • LINQ

Gewinnspiel


Eine weitere Neuerung: Diesmal gibt es ein Gewinnspiel. Insgesamt werden fünf Jahresabos von wahlweise visual studio one oder ASP.NET Professional unter allen Teilnehmern verlost. Weitere Informationen finden sich direkt im BlogBook auf Seite 3.

Zum .NET BlogBook
  8 Kommentare - 610 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Der Unterschied: Wissenschaftler vs Normalbürger

12.10.07 - Entwicklung, Diskussionen, Internet, Kunterbunt
Beitrag von Norbert Eder
 Das kennen wir doch aus der IT doch ebenso. Alles muss reproduzierbar gemacht werden, selbst wenn es noch so schmerzt ...



via xkcd
  2 Kommentare - 392 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Visual Studio 10 mit Multi Monitor Support

12.10.07 - .NET, Visual Studio
Beitrag von Norbert Eder
 Noah Coad, Program Manager Visual Studio Platform, berichtet in seinem Blog, dass Visual Studio 10 (also der Nachfolger von VS 2008) mehrere Monitore unterstützen soll. In seiner Blogpost bittet er um Feedback von der Community, um in der frühen Planphase Informationen darüber zu bekommen, was denn auch tatsächlich gewünscht wird und auch sinnvoll ist. Einfach durchlesen und bei Bedarf einen Kommentar hinterlassen.
  2 Kommentare - 480 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


FxCop in der Version 1.36 Beta verfügbar

11.10.07 - Qualitätsmgmt., .NET, Allerlei
Beitrag von Norbert Eder
 Ab sofort steht die 1.36 Beta von FxCop zur Verfügung. Unter anderem sind folgende Punkte inkludiert:
  • 200+ bug fixes that reduce noise, missing analysis and rule crashes
  • Support for analyzing anonymous methods and lambda expressions
  • New option for skipping analysis over tool generated code
  • Better support for C++/CLI and the Compact Framework
  • Language 'friendly' API names in the UI and resolutions (ie Visual Basic syntax if running over a Visual Basic binary)
  • New globalization, design and usage rules
  • Performance improvements that cut analysis by 2x and use half as much memory
  • Documentation that is now available on MSDN

Auf zum Download.
Auf zur Dokumentation

Weitere Informationen sind auch im Visual Studio Code Analysis Team Blog verfügbar.
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


WPF in Windows Forms verwenden

11.10.07 - .NET, WPF
Beitrag von Norbert Eder
 In einem kleinen Projekt musste ich WPF-Controls in einer Windows Form verwenden. Wer vor eben solcher Geschichte steht, sollte einen Blick auf den Artikel Hosting a WPF Control in a Windows Forms Application. Interessante Sache.

Edit: Da dieser Artikel noch auf eine Beta aufbaut, möchte ich hier kurz die notwendigen Schritte erläutern, da sich doch etwas geändert hat.

WPF-Control erstellen


Im ersten Schritt muss ein entsprechendes WPF-Control erstellt oder ein vorhandenes benutzt werden. In meinem Beispiel habe ich ein einfaches UserControl erstellt.
<UserControl x:Class="AddinTestApp.LoginControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="118" Width="300">
    <Grid Height="120">
        <Label Height="23" HorizontalAlignment="Left" 
               Margin="9,19,0,0" Name="label1" 
               VerticalAlignment="Top" Width="120">
            Username
        </Label>
        <Label Height="23" HorizontalAlignment="Left" 
               Margin="9,40,0,0" Name="label2" 
               VerticalAlignment="Top" Width="120">
            Password
        </Label>
        <TextBox Height="21" Margin="91,21,20,0" 
                 Name="UsernameTextBox" 
                 VerticalAlignment="Top" />
        <TextBox Height="21" Margin="91,44,20,0" 
                 Name="PasswordTextBox" 
                 VerticalAlignment="Top" />
        <Button Height="23" HorizontalAlignment="Right" 
                Margin="0,77,20,0" Name="LoginButton" 
                VerticalAlignment="Top" Width="75">
            Login
        </Button>
    </Grid>
</UserControl>


Windows Formular erstellen


Im zweiten Schritt wird ein normales Windows-Forms-Formular erstellt. Im selben Projekt müssen nun einige Referenzen hinzugefügt werden:

PresentationCore
PresentationFramework
UIAutomationProvider
UIAutomationTypes
WindowsBase

Zusätzlich ist noch die Assembly WindowsFormsIntegration.dll zu laden. Diese befindet sich für gewöhnlich im Ordner:
%programfiles%\Reference Assemblies\Microsoft\
Framework\v3.0\WindowsFormsIntegration.dll


WPF-Control zur Anzeige bringen


Wenn nun sowohl das WPF-Control als auch das Windows Formular erstellt wurden, kann das WPF-Control folgendermaßen eingebunden werden:
private void MainForm_Load(object sender, EventArgs e)
{
    ElementHost host = new ElementHost();
    LoginControl lc = new LoginControl();
    host.Child = lc;
    
    host.Dock = DockStyle.Fill;
    this.Controls.Add(host);
}

Bei einem Start der Anwendung sollte nun das WPF-Control sichtbar sein. Wichtig hierbei ist, dass das Host-Element via DockStyle.Fill am Windows Formular ausgerichtet werden muss.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL



Zurück Weiter