How-To: Charts mit WPF und Silverlight

Bei WPF bzw. Silverlight gibt es grundsätzlich die gleiche „Problematik“ wie bei Windows Forms bis .Net 4.0: Diagramme gehören einfach nicht zum Lieferumfang des Frameworks. Deshalb muss man in der Regel zu Dritt-Herstellern greifen, bindet die Charts von Windows Forms ein oder sucht sich kostenlose Alternativen. In diesem Artikel soll es zunächst um die letztere Fassung gehen wobei in dem Fall zwischen Dynamic Data Display und dem WPF- bzw. Silverlight Toolkit gewählt werden kann. Nachfolgend werden die beiden Fassungen aus den Toolkits näher beschrieben.

Weiterlesen »

Fundstück: Sehr ausführliches MEF Tutorial

Ich sitze schon seit einiger Zeit an einem Artikel zum Managed Extensibility Framework, einem IoC-Framework welches zu .Net 4.0 gehört. Nun habe ich ihn gelöscht weil ich im deutschsprachigen Netz ein Tutorial gefunden habe welches das MEF sehr ausführlich beschreibt. Wer sich also über IoC mit .Net – Bordmitteln informieren will und/oder wissen möchte was so alles da drin steckt, sei auf folgende Seite(n) verwiesen. MEF Teil 1 – Grundlagen, Imports und Exports MEF Teil 2 – Metadaten und Erstellungsrichtlinien MEF Teil 3 – Lifecycle beeinflussen und überwachen MEF Teil 4 – Vererbung mit Composable Parts MEF Teil 5 – Composition und Recomposition MEF Teil 6 – Constructor-Injection MEF Teil 7 – Exportieren über eine Class Factory MEF Teil 8 – Eigenen ExportProvider erstellen MEF Teil 9 – Zugriff auf Composable Parts und Metadaten ohne Lazy<> MEF Teil 10 – Parts

Weiterlesen »

Lazy und die Probleme mit Closures

Ich habe mich die letzten Tage ausgiebig mit der Klasse Lazy beschäftigt. Was diese alles kann will ich an der Stelle aber nicht ausgiebig erläutern, denn das habe ich hier schon einmal getan. Grundsätzlich sei nur gesagt, dass sie das verzögerte Instanziieren oder Initialisieren einer Klasse ermöglicht. Dabei bietet sie unter anderem die Möglichkeit eine Factory-Methode zu verwenden und genau diese kann uns so manches Problem bereiten.

Weiterlesen »

MS Chart Artikel bei der Dotnetpro

Wer sich die aktuelle Dotnetpro kauft wird im Praxisteil auf einen Artikel von mir zum Thema MS Chart stoßen. Nun habe ich diesen schon vor einigen Monaten geschrieben und die entsprechenden Posts hier im Blog sind ein wenig nach hinten gerückt. Wer also jetzt Lust hat los zu legen und noch nicht genau weiß wie, dem sei hiermit das Grundlagen Tutorial empfohlen. Dort gehe ich noch einmal Schritt für Schritt die wichtigsten Einzelheiten durch. Weiterhin kann ich ein weiteres Post empfehlen, welches sich mit den Anotations auseinander setzt. Diese sind nachträglich betrachtet im Artikel vielleicht etwas zu kurz gekommen. Gleiches gilt im Grunde auch für die Themen Zooming und farbliche Gestaltung. Zu beidem habe ich entsprechende Posts in der Pipline die ich hoffentlich über das Osterwochenende fertig bekomme und hier veröffentliche. Wer also Lust hat kann gern noch einmal vorbei

Weiterlesen »

Datenkonvertierung mit implicit und explicit

Als ich nach Informationen gesucht habe um mein Post zum Thema Exceptions und „as“ zu untermauern, bin ich in der MSDN auf zwei weitere Schlüsselworte gestoßen die ich noch nicht kannte: implicit und explicit Diese Entdeckung hat mich schon etwas verwundert, sind beide doch seit .Net 2.0 Teil des Frameworks aber mir in den vergangenen Jahren noch nie über den Weg gelaufen. Woran das wohl liegt?

Weiterlesen »

Lazy-Instantiation and the Lazy<T> – class

I’ve spent the last weeks playing around with MEF which uses a feature of .Net 4.0 I didn’t know before: the Lazy class. A class which gives us a standardized, easy to use and thread safe way for implementing lazy instantiation. Lazy instantiation describes a procedure of creating class instances on demand e.g. when accessing a property. The advantage is that you only invest resources like CPU time and memory if it is really necessary.

Weiterlesen »

Lazy-Instantiation mit der Lazy<T>-Klasse

An english version of this post can be found here: http://www.just-about.net/lazy-t-english Im Zusammenhang mit MEF bin ich auf ein Feature von .Net 4.0 gestoßen, welches mir bisher nicht bekannt war. Genauer meine ich die Klasse Lazy<T>, welche ein standardisiertes und threadsicheres Vorgehen bei Lazy Instantiation bietet. Lazy Instantiation beschreibt eine Art der Instatierung von Objekten, die erst zu dem Zeitpunkt ausgeführt wird wenn auf jene Objekte zugegriffen wird. Ein solches Vorgehen hat den Vorteil, dass unter Umständen Ressourcen gespart werden weil aufwändige Operationen nur wirklich dann angefordert werden wenn man sie benötigt.

Weiterlesen »

How-To: Charts und Diagramme mit MSChart – die Grundlagen

Einen Großteil der letzten Jahre habe ich mit dem Erstellen von Reportinglösungen und demnach mit dem „Zeichnen“ von Diagrammen zugebracht. Mal wollte man die Geschwindigkeit eines Fahrzeugs live mitschneiden, mal die produzierten Endprodukte einer Fertigung in Qualitätsklassen eingeteilt sehen. Immer hat es mich genervt, dass ich selbst bei den kleinsten Aufgabenstellungen auf externe Tools wie ZedGraph (LGPL), TeeChart (rein kommerziell) o.ä. zurückgreifen musste, da das Framework keine eigene Bibliothek mitbrachte und somit zumindest eine gewisse Gefahr von Lizenzkonflikten bzw. zusätzlichen Kosten entstanden. 2008 hat sich dies zumindest ansatzweise geändert, da Microsoft MSChart bzw. die Microsoft Chart Controls für .Net Framework 3.5 veröffentlichte. Ein kleiner Nachteil an dieser Stelle war immer noch, dass man es quasi mit einem extra Paket zu tun hatte, denn um integraler Bestandteil von .Net 3.5 zu sein kam es „etwas“ spät. Jetzt mit .Net 4.0 ist

Weiterlesen »

How To: Generische Datentypen für (etwas) Fortgeschrittene

Das .NET Framework ist umfangreich und dank seiner mittlerweile 4 (bzw. 5) Versionen auch etwas unübersichtlich geworden. Vor allem wenn es um Schlüsselworte geht kann der geneigte Nutzer schon einmal den Überblick verlieren. Aus diesem Grund habe ich mir heute drei heraus gepickt die im Umgang mit generischen Datentypen verwendet werden. Zugegebenermaßen ist dies zum Teil absolutes Grundlagenwissen, dennoch werden zumindest zwei der drei in diesem Zusammenhang gern übersehen.

Weiterlesen »