-
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.
|
Gewinnspiel zum Technical Summit 2008
04.08.08 - Entwicklung, .NET, Internet, Community Beitrag von Norbert Eder| |
Das Microsoft Technical Summit findet immer dann statt, wenn es viel Neues für professionelle Entwickler, Architekten, Entwicklungsleiter, IT-Projektleiter und IT-Projektmanager zu berichten gibt - heuer von 20. - 21. November 2008 (Preconference am 19. November). Dieses Jahr sind die Highlights die Produkte und Services von morgen, die ganz aktuell auf der PDC 2008 bekannt gegeben und erstmalig auf dem Microsoft Technical Summit in Deutschland vorgestellt werden. Bis zum 19.09.2008 läuft noch der Early-Bird-Preis. Anmeldung und zusätzliche Infos unter: www.technical-summit.de
Im Zeitraum vom 06.08.2008 - 10.09.2008 gibt es nun die Möglichkeit, 2 kostenfreie Eintrittskarten für das Technical Summit, sowie 1 Visual Studio 2008 zu gewinnen. Hierfür sind die untenstehenden Fragen zu beantworten und die Lösungen innerhalb des genannten Zeitraumes per Email an me[at]norberteder[dot]com zu senden.
Gewinnfragen
1) Frage:
Wie lautet das Motto des 2008 Microsoft Technical Summit?
Antwortmöglichkeiten:
a) Developer, Developer, Developer!
b) Technologien von morgen, schon heute!
c) Microsoft, Microsoft, Microsoft!
d) Alles für Entwickler!
Lösungslink: http://go.microsoft.com/?linkid=9298435
2) Frage:
Wie heißt die aktuelle Visual Studio Version?
Antwortmöglichkeiten:
a) Visual Studio 2008
b) Visual Studio 2007
c) Visual Studio 2006
d) Visual Studio 2005
Lösungslink: http://go.microsoft.com/?linkid=9298436
3) Frage:
Bis wann läuft die Early-Bird-Promotion des Microsoft Technical Summits?
Antwortmöglichkeiten:
a) 19.09.2008
b) 10.09.2008
c) 19.10.2008
d) 24.12.2008
Lösungslink: http://go.microsoft.com/?linkid=9298437
4) Frage:
Wann wurden die ersten Vortragsthemen und Sprecher publiziert?
Antwortmöglichkeiten:
a) 19.05.2008
b) 11.06.2008
c) 23.06.2008
d) 07.07.2008
Lösungslink: http://go.microsoft.com/?linkid=9298438
Weitere Informationen über das Microsoft Technical Summit 2008 können über die offizielle Website unter http://www.technical-summit.de bezogen werden.
Wichtig: Noch bis zum 19.09.08 kann unter Verwendung des günstigen Early-Bird-Tarifs gebucht werden.
| | | 2 Kommentare
- 8 mal angesehen
| 2 Trackbacks
| Permalink | Trackback-URL |
Wenn's hart kommt ...
30.07.08 - Blog-Intern Beitrag von Norbert Eder| | .. dann kommt's so richtig hart. Und das natürlich immer genau dann, wenn man es überhaupt nicht gebrauchen kann. Aber ist doch immer so.
Auf jeden Fall ist das aktuelle Motto "warm anziehen" - und das trotz der Temperaturen, die zwischenzeitlich erreicht werden.
Sehr toll! Mal sehen was da noch auf mich zukommt ...
| | | 2 Kommentare
- 363 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Debugging Windows Presentation Foundation
28.07.08 - WPF Beitrag von Norbert Eder| | Im Artikel WPF: Unterstützung beim Debuggen von WPF-Anwendungen hatte ich bereits über Möglichkeiten des Debuggings bei WPF-Anwendungen gesprochen. Inzwischen hat sich jedoch so einiges getan. Ich musste mit Schrecken feststellen, dass ich darüber noch gar nicht berichtet hatte. Das möchte ich damit nachholen.
Josh Smith hat ja seinerzeit mit Woodstock for WPF ein Debugging-Tool für WPF vorgestellt. Die Idee war grundsätzlich eine sehr gute, worauf sich gleich ein Dreiergespann (Josh Smith, Karl Shifflett und Andrew Smith) zusammen tat, um dieses Tool wesentlich zu verbessern.
Als Resultat entstand Mole for WPF, nachfolgend auch abgebildet.
Dabei handelt es sich um einen Debugging-Visualizer, welcher eben im Debugging-Mode angeworfen werden kann. Darin sind nun sämtliche Werte, Eigenschaften, Visual Tree, Logical Tree aufgelistet und können auch verändert werden. Ein Debugging fällt daher schon recht einfach.
Wer sich also mit der Windows Presentation Foundation beschäftigt, wird um dieses Tool kaum umhin kommen, da es dann doch die eine oder andere Stunde des frustrierten Fehlersuchens ersparen kann.
Eine ausführliche Dokumentation, Link zu Videos und natürlich der Download selbst, ist auf CodeProject.com zu finden.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Der direkte Draht
19.07.08 - Internet, Community Beitrag von Norbert Eder| | Da gerade der direkte Draht in der Community ein sehr wichtiger Bestandteil ist, biete ich ab sofort die Möglichkeit an, direkt über mein Blog mit mir in Kontakt zu treten.
Über den Button
gelangt ihr auf eine Unterseite, über der ihr mir MSN-Messages senden könnt. Dazu muss nur ein CAPTCHA eingegeben werden und los geht's - vorausgesetzt ich bin online.
PS: Auch andere bieten diese Möglichkeit an, Dariusz zum Beispiel.
Für die nächste Zeit wird dieses Feature testhalber angeboten. Abhängig davon, wie sinnvoll es genutzt wird, werde ich es weiterführen oder nicht. Die Zeit wird's zeigen.
Ich gebe jedoch gleich jetzt zu bedenken, dass die Antworten abhängig von der Komplextität sind, als auch meiner verfügbaren Zeit, die unter Tags sehr eingeschränkt ist - es müssen ja auch Brötchen verdient werden. Bei komplexeren Anfragen ist vermutlich eine Email als sinnvoller zu sehen.
| | | Kommentar hinzufügen
| 1 Trackbacks
| Permalink | Trackback-URL |
Neue Ausgabe des .NET BlogBook verschoben
16.07.08 - Blog-Intern Beitrag von Norbert Eder| | Für alle, die bereits nachgefragt (und diejenigen, die daran Interesse haben) haben, warum die neue Ausgabe des .NET BlogBook noch nicht erschienen ist, hier eine kleine Information diesbezüglich:
Es findet aktuell ein großer Umbau des .NET BlogBook statt, der leider (gepaart mit einigen anderen Dingen) einen recht großen Aufwand verursacht. Daher dauert die Veröffentlichung länger als gedacht. Zum aktuellen Zeitpunkt sieht es aus, als würde diese Ausgabe ausfallen und in der neuen Version erst zum nächsten Termin zur Verfügung stehen.
Es wird jedoch einen kompletten Relaunch geben und darauf darf man wirklich gespannt sein. Sehr viele Anregungen wurden und werden noch eingearbeitet um dieses Projekt weiter voran zu treiben.
Ich bitte hiermit um Verständnis und bitte zusätzlich auch weiter um euer Feedback. Es hilft dem Projekt wirklich sehr.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
WPF: Unterschied zwischen DataTemplate und ControlTemplate
14.07.08 - .NET, WPF Beitrag von Norbert Eder| | Sehr oft wird in Foren bzw. per Email gefragt, wo denn genau der Unterschied zwischen einem DataTemplate und einem ControlTemplate liegt. Dies ist relativ einfach erklärt.
DataTemplate
Ein DataTemplate wird verwendet, um das Aussehen bzw. die Zusammensetzung eines Daten-Items zu beschreiben. D.h. darüber wird der Visual Tree eines Daten-Items definiert. Relevant ist dies bei Items für eine ListBox, ListView usw. Dabei kann es sich um eine Ableitung eines ListBoxItems (je nach Steuerelement) oder um eine CLR-Objekt handeln.
ControlTemplate
Ein ControlTemplate hingegen beschreibt den Visual Tree und damit den Aufbau eines Steuerelements.
Fazit
Sollen also Items einer "Auflistung" beschrieben werden, dann ist die Verwendung eines DataTemplates zielführend. Andernfalls ist ein ControlTemplate zu verwenden.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
WPF: DataSet und Data Binding
09.07.08 - .NET, WPF Beitrag von Norbert Eder| | Gerade zum Thema Data Binding habe ich mittlerweile einige Beispiele erstellt (siehe hier, hier und hier). Was noch fehlt (und oft gefragt wird) ist, wie ein DataSet gebunden werden kann. Dem möchte sich dieser Artikel widmen.
Auch in diesem Fall ändert sich relativ wenig. Anstatt eines konkreten Objektes steht nun ein DataSet zur Verfügung. Dieses kann Tabellen enthalten (0 - n) und jede Tabelle kann Spalten enthalten. Das Grundprinzip besteht nun einfach darin:
Vorgehensweise anhand einer TreeView
Das DataSet wird als DataContext bei der TreeView gesetzt. Das Root-Element wird beispielsweise per Hand (Markup) angelegt. Diesem wird nun eine Tabelle des DataSets als ItemsSource gesetzt. In weiterer Folge wird ein HierarchicalDataTemplate erstellt, welches nun dafür zuständig ist, die einzelnen Felder (oder auch nur ein paar wenige davon) darzustellen.
In weiterer Folge kann nun eine Eingabemaske erstellt werden, welche an das SelectedItem der TreeView gebunden ist und den ausgewählten Datensatz zur Anzeige bringt und somit bearbeitbar macht.
Konkretes Beispiel
Ob nun das DataSet aus einer Datenbank geladen oder manuell erstellt wird, macht keinen Unterschied. In diesem Beispiel wird ein DataSet per Code generiert und zur Verfügung gestellt:
public static class DataSetMock
{
public static DataSet CreateDataSet()
{
DataSet ds = new DataSet();
ds.Tables.Add("Person");
ds.Tables[0].Columns.Add("FirstName");
ds.Tables[0].Columns.Add("LastName");
ds.Tables[0].Rows.Add("Norbert", "Eder");
ds.Tables[0].Rows.Add("Hugo", "Tester");
return ds;
}
}
Dies geschieht in diesem Fall durch eine statische Klasse. Die Methode CreateDataSet kann nun über einen ObjectDataProvider via XAML zur Verfügung gestellt werden. Damit beschränken wir uns beim Schreiben von Sourcecode auf die Implementierung eben dieser statischen Klasse.
Wie bereits angesprochen, wird das DataSet in diesem Beispiel über ObjectDataProvider zur Verfügung gestellt:
<ObjectDataProvider
x:Key="PeopleProvider"
MethodName="CreateDataSet"
ObjectType="{x:Type local:DataSetMock}"/>
Der Provider selbst muss in den entsprechenden Ressourcen (in diesem Fall in den Ressourcen des Fensters) definiert werden.
In weiterer Folge wird nun ein TreeView-Element auf dem Fenster positioniert. Als DataContext wird der zuvor erstellte Provider gesetzt, da dieser die generierten Daten (DataSet) zurück liefert:
<TreeView
DataContext="{StaticResource PeopleProvider}"
x:Name="PeopleTreeView"
DockPanel.Dock="Left"
Width="200">
<TreeViewItem
x:Name="PeopleRoot"
Header="People"
ItemsSource="{Binding Person}"
ItemTemplate="{StaticResource PersonTemplate}"/>
</TreeView>
Im Source ist zusätzlich zu sehen, dass eine Root-Node über das Markup erstellt wird. Diesem Root-Node wird als ItemsSource nun per Binding die Tabelle Person aus dem DataSet zugewiesen. Dadurch wird der Gültigkeitsbereich des Bindings für diese Node festgelegt. Somit kann nun ein ItemTemplate definiert werden, welches für die Darstellung der einzelnen Datensätze zuständig ist:
<HierarchicalDataTemplate x:Key="PersonTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding LastName}"/>
<TextBlock Text=", "/>
<TextBlock Text="{Binding FirstName}"/>
</StackPanel>
</HierarchicalDataTemplate>
Dieses Template wird ebenfalls in den Ressourcen des Fensters abgelegt. Zusätzlich muss es der Root-Node als ItemTemplate zugewiesen werden.
Das wären bezüglich TreeView alle notwendigen Schritte. Möchte man nun ein Eingabeformular erstellen, welches die Daten des aktuell selektierten Datensatzes anzeigen soll, dann kann nun folgendes definiert werden:
<StackPanel Orientation="Vertical">
<TextBlock Text="Firstname"/>
<TextBox
Text="{Binding
ElementName=PeopleTreeView,
Path=SelectedItem.FirstName}"/>
<TextBlock Text="Lastname"/>
<TextBox
Text="{Binding
ElementName=PeopleTreeView,
Path=SelectedItem.LastName}"/>
</StackPanel>
Was passiert hier? Es wird ein StackPanel definiert, welches alle Kind-Elemente untereinander anordnet. Die Elemente vom Typ TextBlock stellen die Überschriften dar. Für die eigentlichen Daten wird jeweils eine TextBox verwendet. Diese enthalten ein Binding auf die jeweilige Spalte des aktuell selektierten Datensatzes. Änderungen schlagen sich natürlich sofort auf die TreeView durch.
Fazit
Das Data Binding funktioniert grundsätzlich immer gleich. Wichtig ist, dass bewußt ist, wann welcher Kontext gesetzt wird und was dieser Kontext tatsächlich zur Verfügung stellt. Darauf kann gebunden werden. Dies verhält sich bei einem DataSet gleich wie bei einer Objekthierarchie.
Das gezeigte Beispiel steht natürlich als Download zur Verfügung.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Sie wurden mit dem Microsoft MVP Award ausgezeichnet!
01.07.08 - Blog-Intern, .NET, WPF, Internet, Community Beitrag von Norbert Eder| | Sehr geehrte(r) Norbert Eder,
Herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2008 verleihen zu können. Mit dem MVP Award danken wir Ihnen für Ihren Einsatz für die Community, mit dem Sie Tag für Tag dazu beitragen, das Leben der Menschen zu bereichern und die Branche erfolgreicher zu machen. Wir schätzen Ihren außerordentlich bedeutenden Beitrag in den technischen Communities zum Thema Microsoft Client App Dev im vergangenen Jahr hoch ein.
Tja, was soll ich sagen. Ich fühle mich geehrt und bedanke mich natürlich bei allen, die mich immer wieder unterstützen, die die Nominierung möglich gemacht haben und sowieso und überhaupt bin ich auch für Weltfrieden.
Mal sehen, ob die sich aufdrängende Frage auch noch irgendwie beantwortet wird ...
| | | 23 Kommentare
- 819 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Aktualisiere mich!
01.07.08 - Blog-Intern Beitrag von Norbert Eder| | DAS dachten sich die Bereiche Trickkiste und WPF. Diesem Ruf folgte ich und fand auch spontan Möglichkeiten der Verbesserung.
Die Trickkiste wurde um sämtliche WPF-Artikel erleichtert. Diese sind nunmehr zur Gänze im Bereich WPF zu finden. Eben dieser wurde zusätzlich um weitere Einträge ergänzt.
Im Laufe des aktuellen Monats werden sich ein paar weitere Dinge hier ändern.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Artikel: Steuerelemente für jeden Zweck
30.06.08 - .NET, WPF Beitrag von Norbert Eder| | In der aktuellen Ausgabe der visual studio one wurde mein Artikel Steuerelemente für jeden Zweck veröffentlicht.
Die Idee der Steuerelemente ist ja nicht neu. Relativ neu hingegen ist die Möglichkeit, grafische Elemente komplett von der eigentlichen Logik zu trennen – zumindest gilt dies für Microsoft-basierte Technologien.Mit der Windows Presentation Foundation wird den Entwicklern genau dies in die Hand gelegt. Sie als Entwickler und auch Ihr Kunde können davon profitieren. Dieser Artikel zeigt Ihnen, wie Sie dynamische WPF-Steuerelemente selber bauen können.
Link: visual studio one
| | | 3 Kommentare
- 519 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL | Zurück Weiter
|
|
|
|
|
|
|