.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

Playstation 3 vs XBOX 360

17.12.07 - Kunterbunt
Beitrag von Norbert Eder
 In diesem Eintrag habe ich ja verlautet, dass ich mir selbst zu Weihnachten die XBOX 360 zum Geschenk machen werde. Nun, erstens kommt es anders und zweitens als man denkt.

Lange Rede, kurzer Sinn: Ich hab mir keine 360er gekauft, sondern einen PS3. Manche (vor allem die Microsoft-nahen Leser) mögen nun den Kopf schütteln und sich wundern, warum ich denn das getan habe. Hier kommt die Auflösung:

Vorteile der PS3


  • Preis: Der Preis der "normalen" Editions ist bei der PS3 um 49 Euro höher, dafür ist das System neuer, bringt schon mal ein neues Format (Bluray - und nein, ich mag es noch immer nicht) mit. Die XBOX 360 Elite, die ein paar Kabel mehr hat und in Schwarz daher kommt, ist übrigens sogar teurer.
  • RRoD: Besser bekannt unter Red Ring of Death. Hier gefällt mir einfach nicht, wie Microsoft mit dem Thema umgeht. Anstatt eine Lösung anzubieten, wird lediglich die Garantiezeit nach oben geschraubt, was ihmo einfach nicht reicht. Ich, als zahlender Kunde, möchte mir kein Gerät kaufen, dass vor dem Kauf bereits eine hohe Wahrscheinlichkeit hat, bald nicht mehr zu funktionieren.
  • Online: Wer möchte nicht online spielen? Aber wer möchte dafür bezahlen? Playstation-Network ist hier free. Live muss ich bezahlen. Wieder ein Punkt für die PS3

Fazit


Das sind die Eckpunkte meiner Entscheidung. Vermutlich hätte ich mich anders entschieden, wäre bei der XBOX 360 ein HD-DVD-Player (ist mir sympathischer) dabei und hätte Microsoft beim Thema RRoD einfach anders (kundenfreundlicher) reagiert. Die Kosten für Live sind zu verschmerzen, wobei ich aus Kundensicht natürlich die günstigere Variante bevorzuge.

Von einigen hörte ich auch das "Argument": Ja, aber deine PS3 hast du nicht "im Vista integriert". Natürlich, nettes Feature. Aber wer braucht das wirklich? Im Endeffekt passiert nichts anderes, als dass sich PC und Konsole weiter annähern, bald wird man sich die Aufteilung ohnehin sparen, aus Kostengründen. Dann hat man ohnehin alles unter einer Haube. Bis dahin kann ich es verkraften, meinen Live-Avatar nicht unter Vista zu sehen ;-)

Wer mich jetzt verprügeln möchte, bitte, nur zu. Wer mir bei einigen Punkten widersprechen möchte, bitte, nur zu. Ich hab die PS3 ohnehin schon gekauft, aber möglicherweise habe ich etwas übersehen oder sehe generell etwas falsch, dann bitte ausbessern. Aber bitte keinen Konsolen-War.

  14 Kommentare - 656 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Benachrichtigung wenn sich Items in einer Liste ändern oder hinzukommen

13.12.07 - .NET, Grundlagen, Datenverwaltung
Beitrag von Norbert Eder
 In vielen Fällen muss mit Listen gearbeitet werden. In vielen Fällen wird dazu eine generische Liste oder eine der Listen aus dem System.Collecitons-Namespace verwendet. Bei einem Großteil der Listen ergibt sich jedoch das Problem, dass es kein Event gibt, welches mir als Entwickler anzeigt, dass sich ein Item in meiner Liste verändert hat, oder ein neues Item hinzu kam.

Einer der Fälle, in denen genau diese "Benachrichtigungen" notwendig sind, ist das DataBinding (binden von Daten an ein Ziel). Dementsprechend nennt sich auch eine Klasse, die uns diese Funktionalität anbietet, ohne dass man hier Klimmzüge vollbringen muss: BindingList.

Diese Klasse befindet sich im System.ComponentModel-Namespace und bietet zwei interessante Events an:

AddingNew wird geworfen, wenn der Liste ein neues Item hinzugefügt wird. ListChanged, wenn sich ein bestehendes Item geändert hat.

Somit sind Listen, die auf die BindingList basieren, für DataBinding geeignet, als auch dann, wenn man über eine Änderung der Items-Auflistung informiert werden muss.

Ein Beispiel zu dieser Klasse finden sich im MSDN.

Hinweis: Diese Klasse gibt es seit dem .NET Framework 2.0.

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


Das Web in Kartenform

13.12.07 - Internet, Kunterbunt
Beitrag von Norbert Eder
 Wer Kartoo bereits kennt, dem werde ich hier nichts Neues erzählen. Allen anderen sei ein Blick darauf empfohlen.

Das Ergebnis für dieses Blog sieht so aus:



Sieht also schon nett aus und man sieht auch worüber die Websites untereinander verbunden sind, in welche Bereiche sie fallen usw. Bei Bedarf kann man auch tiefer in einen Bereich gehen, um weitere Informationen zu erhalten (erinnert mich irgendwie an Topic Maps).

via neunetz.com
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Mono Version 1.2.6 veröffentlicht

13.12.07 - .NET, Allerlei
Beitrag von Norbert Eder
  Mono steht seit dem 12. Dezember 2007 in der Version 1.2.6 als Download zur Verfügung. Es handelt sich dabei um ein Bugfix-Release zur Version 1.2.5. Zusätzlich wurden weitere Features hinzugefügt. Eine Übersicht wird durch die Release Notes gegeben. Die offiziellen Major highlights sind unterhalb gelistet. Zusätzliche Informationen rund um das Mono-Projekt sind auf der Mono Projekt-Website zu finden.

Major highlights


  • Mono 1.2.6 can now be used as an SDK for creating Silverlight 1.1 applications on all platforms. This allows developers to create applications that target Silverlight without requiring a Windows installation.
  • Native Windows.Forms driver for MacOS X allows Winforms-based applications to run without an X server.
  • Support for the ASP.NET AJAX APIs and controls.
  • Support for FastCGI deployments: ASP.NET can now be deployed on a multitude of servers that implement the FastCGI protocol (lighttpd for example) in addition to Apache.
  • Windows.Forms now supports the WebControl on Windows and Linux using Mozilla.
  • Runtime will now consume much less memory for 2.0-based applications due to various optimizations in generics support as well as including many new performance improvements and an updated verifier and an implementation of CoreCLR security.
  • C# compiler is quickly approaching full 3.0 support, most of the basics work right now (except support for System.Query.Expression AST generation).

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


Weihnachten naht und wie sieht die Liste ans Christkind aus?

11.12.07 - Blog-Intern
Beitrag von Norbert Eder
 Nachdem ja bereits Mariusz seinen Weihnachtswunsch geäußert hat, dachte ich, gleich mal kurz anzuführen, wofür ich denn dieses Jahr so zu begeistern wäre.

Kürzlich habe ich mir den von Samsung den 37er Full HD besorgt, da mein alter Fernseher seinen Geist aufgegeben hat (echt blöd). Und da würden dann schon einige Dinge dazu passen.

Beispielsweise der Toshiba HD EP 35 E KTE HD-DVD-Player. Ja genau, ein HD-DVD-Player und nichts mit Blueray. Und nein, ich hab auch keine Playstation 3 mit der Blueray möglich wäre. Ich mag einfach den netten Kopierschutz BD+ nicht, da hier auch nett Java-Applikationen ausgeführt werden können und was weiß ich was anstellen kann.

Zu diesem Gerät dazu natürlich noch eine XBOX 360 Elite (diese wird wohl in den nächsten angeschafft werden), einen netten HDTV Receiver und alles was man sonst noch brauchen könnte. Vielleicht mag mir dann auch jemand ein Premiere HDTV Abo schenken?

Wer jetzt immer noch Geld für mich übrig hat, ich hätte noch eine extended List of Devices ;-)

  6 Kommentare - 615 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Gemeinsam Code verbessern

11.12.07 - .NET, Allerlei
Beitrag von Norbert Eder
 Wie das geht? Eigentlich ganz einfach. Ein Stück Code auf RefactorMyCode.com posten und hoffen, dass sich jemand dieses Stücks annimmt und eine bessere Variante postet. Eine ziemlich nette Idee, wie ich finde.

Es werden übrigens mehrere Sprachen unterstützt. Zu C# gesellen sich auch noch Ruby, PHP, Java, JavaScript usw.

Wäre doch auch eine nette Sache für den deutschsprachigen Markt.
  10 Kommentare - 594 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


XAML und WPF Coding Guidelines

11.12.07 - .NET, WPF
Beitrag von Norbert Eder
 Guidelines sind eine gute Sache (sofern diese nicht zu übertrieben sind). Es gibt sie auch für die unterschiedlichsten Sprachen. Wer eine Guideline für XAML und WPF sucht, der wird auf dem Blog von Paul Stovell fündig:

XAML and WPF Coding Guidelines

Für XAML und WPF-Entwickler sicherlich lesenswert.
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Aktualisierung der Trickkiste

10.12.07 - Blog-Intern
Beitrag von Norbert Eder
 Ja, richtig. Die Trickkiste wird immer umfangreicher. Diesmal wurden die vergangenen Artikel rund um die Windows Presentation Foundation (WPF) hinzugefügt, da diese gerne besucht werden und sich somit sicherlich einen Platz in der Trickkiste verdient haben. Langer Satz, kurzer Sinn: Trickkiste ansehen.
  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


WPF: Oberstes Element bei Mausklick mittels HitTest feststellen

10.12.07 - .NET, WPF
Beitrag von Norbert Eder
 Unter der Windows Presentation Foundation kommt es immer wieder vor, dass bei einem Mausklick, auf beispielsweise einem Panel, festgestellt werden muss, welches das oberste von vielen übereinander liegenden Elementen ist (siehe auch WPF: BringToFront und SendToBack).

Hierzu ist die Methode VisualTreeHelper.HitTest sehr praktisch. Diese ermittelt auf Basis der übergebenen Koordination automatisch das in der Z-Order am höchsten angesiedelte Child-Element und liefert als Ergebnis ein HitTestResult zurück, welches eine Referenz auf das entsprechende Element enthält. So kann nun wieder mit dem entsprechenden Objekt weiter gearbeitet werden.

Zur Veranschaulichung noch ein kleins Beispiel. Gegeben sei eine Anwendung, die durch folgendes XAML beschrieben wird:
<Window x:Class="HitTestDemo.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="HitTestDemo" Height="300" Width="300">
    <Grid>
        <Canvas 
            x:Name="BaseCanvas" 
            Background="LightYellow">
            <Canvas 
                x:Name="Canvas1" 
                Canvas.Left="50" 
                Canvas.Top="50" 
                Background="Blue" 
                Width="50" 
                Height="50"/>
            <Canvas 
                x:Name="Canvas2" 
                Canvas.Left="200" 
                Canvas.Top="200" 
                Background="Red" 
                Width="50" 
                Height="50"/>
            <Canvas 
                x:Name="Canvas3" 
                Canvas.Left="40" 
                Canvas.Top="75" 
                Background="Black" 
                Width="50" 
                Height="50"/>
        </Canvas>
    </Grid>
</Window>

In der Code-Behind-Datei findet sich der nachfolgende Code:
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

namespace HitTestDemo
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            BaseCanvas.MouseDown += 
                new MouseButtonEventHandler(BaseCanvas_MouseDown);
        }

        private void BaseCanvas_MouseDown(
            object sender, MouseButtonEventArgs e)
        {
            HitTestResult htr = 
                VisualTreeHelper.HitTest(this, e.GetPosition(this));
            MessageBox.Show("Clicked item: " + 
                ((Canvas)htr.VisualHit).Name);
        }
    }
}

Dies ausgeführt zeigt zuerst dieses Fenster:



Je nachdem, auf welchen Child-Canvas nun geklickt wird, erscheint der Name des jeweiligen Canvas in einer MessageBox, wie hier gezeigt:



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


.NET Developer Essentials Installer - Update 1.0.1

06.12.07 - .NET, WPF, Visual Studio, Allerlei, Tools
Beitrag von Norbert Eder
 Nachdem gestern noch sehr viele Rückmeldungen kamen hatte ich noch schnell des Abends ein Update gebaut, welches auch von einigen getestet wurde. Nun steht es allen zur Verfügung.

Änderungen


Am grundsätzlichen Aufbau/Ablauf hat sich nichts geändert. Neu ist jedoch, dass nun eigene Listen direkt über das Tool verwaltet werden können. Auch muss man nicht mehr ins XML-File, wenn neue Items hinzugefügt werden sollen.
Zudem werden eigene Listen bei einem Update nicht überschrieben.

Screenshot


Und so sieht die aktualisierte Version aus:



Downloadmöglichkeiten gibt es wie gewohnt im Projektbereich.

Voraussetzungen



.NET Framework 3.5

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



Zurück Weiter