<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>andreas-schlapsi.at</title>
	<atom:link href="http://www.andreas-schlapsi.at/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andreas-schlapsi.at</link>
	<description>Software-Entwicklung, .NET &#38; Co.</description>
	<lastBuildDate>Wed, 05 May 2010 20:41:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Bowling beim .NET Coding Dojo Wien</title>
		<link>http://www.andreas-schlapsi.at/2010/05/05/bowling-beim-net-coding-dojo-wien/</link>
		<comments>http://www.andreas-schlapsi.at/2010/05/05/bowling-beim-net-coding-dojo-wien/#comments</comments>
		<pubDate>Wed, 05 May 2010 20:41:35 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[wien]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=1039</guid>
		<description><![CDATA[.NET Coding Dojos sind in letzter Zeit modern geworden. Auch in Wien habt ihr die Gelegenheit, gemeinsam mit anderen Entwicklern eure TDD- und Programmierkenntnisse zu trainieren. Wir werden uns wieder eine kleine Programmieraufgabe stellen und dabei viel Neues lernen. Nächsten Freitag, also am 14.&#160;Mai&#160;2010, um 18:00 Uhr ist es wieder so weit. Das monatliche Wiener [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gmbsg.com/net-coding-dojo-massiv/">.NET Coding Dojos</a> sind in letzter Zeit modern geworden. Auch in Wien habt ihr die Gelegenheit, gemeinsam mit anderen Entwicklern eure TDD- und Programmierkenntnisse zu trainieren. Wir werden uns wieder eine kleine Programmieraufgabe stellen und dabei viel Neues lernen.</p>
<p>Nächsten Freitag, also <strong>am 14.&nbsp;Mai&nbsp;2010, um 18:00 Uhr</strong> ist es wieder so weit. Das monatliche Wiener .NET Coding Dojo findet wieder statt. Bevor wir mit dem <a href="http://codekata.pragprog.com/">Kata</a> beginnen, wird uns Jörg zeigen, wie man moderne Web-Anwendungen mit ASP.NET MVC baut. Nach einer Pause werden wir uns diesmal dem <a href="http://www.codingdojo.org/cgi-bin/wiki.pl?KataBowling">KataBowling</a> widmen.</p>
<p>Nähere Informationen findet ihr hier: <a href="http://dotnetopenspace.ning.com/events/aspnet-mvc-anwendung-1">http://dotnetopenspace.ning.com/events/aspnet-mvc-anwendung-1</a>.</p>
<p>Ich freue mich auf euer Kommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/05/05/bowling-beim-net-coding-dojo-wien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Layout der WPF-Statuszeile</title>
		<link>http://www.andreas-schlapsi.at/2010/04/28/layout-der-wpf-statuszeile/</link>
		<comments>http://www.andreas-schlapsi.at/2010/04/28/layout-der-wpf-statuszeile/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 23:05:49 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=987</guid>
		<description><![CDATA[In meinem letzten Artikel habe ich gezeigt, wie man eine einfache Benutzeroberfläche für einen Texteditor mit WPF entwerfen kann. Aber die Statuszeile sieht noch nicht ganz so aus, wie sie soll. Die Zeilen- und Spaltennummer, in der sich die Einfügemarke momentan befindet, soll ca. im rechten Drittel der Statuszeile angezeigt werden, auch wenn sich die [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem <a href="http://www.andreas-schlapsi.at/2010/04/25/benutzeroberflache-eines-texteditors-mit-wpf/">letzten Artikel</a> habe ich gezeigt, wie man eine einfache Benutzeroberfläche für einen Texteditor mit WPF entwerfen kann. Aber die Statuszeile sieht noch nicht ganz so aus, wie sie soll.<br />
<span id="more-987"></span><br />
Die Zeilen- und Spaltennummer, in der sich die Einfügemarke momentan befindet, soll ca. im rechten Drittel der Statuszeile angezeigt werden, auch wenn sich die Fenstergröße ändert.</p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/01-Statuszeile-klein.png" /></p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/02-Statuszeile-groß.png" /></p>
<p>Beim letzten Mal hatten wir die Statuszeile noch so definiert:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">        ...
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Bottom&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBlock</span> <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;Col 1, Ln 1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        ...</pre></div></div>

<p>Das sieht so aus:</p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/03-Statuszeile-Texteditor.png" /></p>
<p>Ein <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx">TextBlock</a>-Element befindet sich in der Statuszeile, das links angezeigt wird. Doch wie bekommen wir den Text an die gewünschte Position?</p>
<p>Die <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.statusbar.aspx">StatusBar</a> stellt ihre Steuerelemente normalerweise mit einem <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.aspx">DockPanel</a> dar. Allerdings werden alle Steuerelemente, die nicht vom Typ <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.statusbaritem.aspx">StatusBarItem</a> sind, in einem StatusBarItem-Element eingehüllt, d.h. wir müssen selbst das StatusBarItem-Element angeben, damit wir die DockPanel-Eigenschaften definieren können.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">        ...
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Bottom&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBarItem</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Right&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBlock</span> <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;Col 1, Ln 1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBarItem<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBarItem</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        ...</pre></div></div>

<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/04-Statuszeile-DockPanel.png"/></p>
<p>Der Text wird jetzt zwar rechts dargestellt, aber noch nicht genau dort, wo wir ihn haben wollen. Außerdem mussten wir ein leeres StatusBarItem-Element hinzufügen, das den Hauptteil der Statuszeile ausfüllen soll. Andernfalls würde das StatusBarItem-Element mit dem TextBlock nicht rechts dargestellt. Würden wir einen zweiten Text darstellen wollen, müssten wir es zum leeren StatusBarItem hinzufügen. Somit käme der linke Teil im XAML-Code vor dem rechten. Viel lieber hätten wir an dieser Stelle ein <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.aspx">Grid</a>, weil wir dann die Breite der Spalten selbst bestimmen können. Aber wie erreichen wir das?</p>
<p>Die StatusBar gehört wie <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.aspx">ListBox</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.listview.aspx">ListView</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.aspx">ComboBox</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.menu.aspx">Menu</a> und einigen anderen zu den sogenannten <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.aspx">Items-Controls</a>. Diese stellen ihre Subelemente in einem Panel dar, das durch die Eigenschaft <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemspanel.aspx">ItemsPanel</a> definiert wird. Normalerweise wird darin ein <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx">StackPanel</a> definiert, aber StatusBar hat diese Eigenschaft überschrieben und durch ein DockPanel ersetzt, wie wir oben gesehen haben. Wir können dieser Eigenschaft ein Grid zuweisen und so zu dem gewünschten Ergebnis kommen. In XAML sieht das so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Bottom&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar.ItemsPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ItemsPanelTemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;*&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ColumnDefinition</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;2*&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ColumnDefinition</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;1*&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ItemsPanelTemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBar.ItemsPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBarItem</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBlock</span> <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;Col 1, Ln 1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBarItem<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Die Eigenschaft bekommt ein <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemspaneltemplate.aspx">ItemsPanelTemplate</a>, in dem wir mit einem Grid ein Layoutgitter definieren, das aus einer Zeile und zwei Spalten besteht. Die Spalten teilen sich den verfügbaren Platz im Verhältnis 2:1 auf. Die rechte Spalte umfasst also das rechte Drittel der Statuszeile. Den TextBlock geben wir in das StatusBarItem, das wir der rechten Spalte zuweisen. Damit befindet sich der Text immer im rechten Drittel der Statuszeile.</p>
<p>Die WPF-Statuszeile kann auch andere Steuerelemente darstellen, z.B. Bilder, Fortschrittsbalken und viele andere mehr. Wenn man dann mehr Kontrolle über das Layout der Statuszeile braucht, kann das DockPanel jederzeit durch etwas anderes ersetzt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/04/28/layout-der-wpf-statuszeile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benutzeroberfläche eines Texteditors mit WPF</title>
		<link>http://www.andreas-schlapsi.at/2010/04/25/benutzeroberflache-eines-texteditors-mit-wpf/</link>
		<comments>http://www.andreas-schlapsi.at/2010/04/25/benutzeroberflache-eines-texteditors-mit-wpf/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 19:15:29 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=971</guid>
		<description><![CDATA[In meinem letzten Artikel habe ich einen Überblick über den Layoutmechanismus in WPF gegeben. In diesem Artikel möchte ich zeigen, wie man eine Benutzeroberfläche für einen Texteditor mit WPF layouten kann. Ziel In diesem Artikel möchte ich zeigen, wie man mit dem WPF-Layoutmechanismus eine GUI für einen Notepad-ähnlichen Texteditor entwerfen kann. Das Ergebnis wird in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andreas-schlapsi.at/2010/04/25/steuerelemente-und-panels-in-wpf/">In meinem letzten Artikel</a> habe ich einen Überblick über den Layoutmechanismus in WPF gegeben. In diesem Artikel möchte ich zeigen, wie man eine Benutzeroberfläche für einen Texteditor mit WPF layouten kann.<br />
<span id="more-971"></span></p>
<h2>Ziel</h2>
<p>In diesem Artikel möchte ich zeigen, wie man mit dem WPF-Layoutmechanismus eine GUI für einen Notepad-ähnlichen Texteditor entwerfen kann. Das Ergebnis wird in etwa so aussehen:</p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/00-Ergebnis.png"/></p>
<p>Oft gibt es mehr als eine Möglichkeit, ein Ziel zu erreichen. So auch hier: in der ersten Variante verwende ich ein Grid und in der zweiten Variante ein DockPanel.</p>
<h2>Variante mit Grid</h2>
<p>Visual Studio erstellt ein Window immer mit einem <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.aspx">Grid</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;TextEditor.MainWindow&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;MainWindow&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;350&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;525&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Zuerst müssen wir die Spalten und Zeilen definieren, die das Layoutgitter haben soll, dann können wir die Steuerelemente hinzufügen und einzelnen Gitterzellen zuweisen.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;TextEditor.MainWindow&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;MainWindow&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;350&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;525&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ColumnDefinition</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Menu</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBox</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Wir definieren drei Zeilen und eine Spalte. Jedes Steuerelement kommt in eine eigene Zeile. Das Ergebnis sieht dann so aus:</p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/01-Grid-01.png"/></p>
<p>Wie wir sehen, sieht das Ergebnis noch gar nicht nach Texteditor aus. Drei gleich große Layoutgitterzeilen beinhalten das Menü, die TextBox und die Statuszeile.</p>
<p>Per Voreinstellung bekommt jede Zeile die Höhe &#8220;1*&#8221; zugewiesen, d.h. die Höhe wird im Verhältnis 1:1:1 aufgeteilt. Daher sind die drei Zeilen gleich hoch.</p>
<p>Wenn wir die Zeilendefinitionen so abändern, dass die erste Zeile (Menü) und die dritte Zeile (Statuszeile) eine fixe Höhe bekommen und die zweite Zeile (TextBox) den Rest bekommt, dann kommen wir dem Ziel etwas näher.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">...
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;23&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;1*&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;26&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
...</pre></div></div>

<p>Die erste Zeile setzen wir auf 23 Pixel und die letzte Zeile auf 26 Pixel. Die zweite Zeile bekommt den Rest. Die Höhenangabe für die zweite Zeile kann weggelassen werden, weil &#8220;1*&#8221; der voreingestellte Wert ist.</p>
<p>Dem Menü fehlen noch die Hauptmenüpunkte und die Textbox akzeptiert noch nicht die Eingabetaste. Mit folgenden Änderungen sieht unser Fenster beinahe wie ein richtiger Texteditor aus:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;TextEditor.MainWindow&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;MainWindow&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;350&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;525&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;23&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;1*&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;26&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ColumnDefinition</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Menu</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Datei&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Bearbeiten&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Format&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Ansicht&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Hilfe&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Menu<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBox</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">AcceptsReturn</span>=<span style="color: #ff0000;">&quot;True&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Die WPF-TextBox zeigt mehrzeilige Texte immer mehrzeilig an, aber per Voreinstellung akzeptiert sie die Eingabetaste nicht. Mit der Eigenschaft <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.acceptsreturn(VS.95).aspx">AcceptsReturn</a> kann dieses Verhalten geändert werden.</p>
<p>Wenn der Benutzer jetzt einen längeren Text in die TextBox eingibt oder einfügt, sollten Schiebeleisten erscheinen. Unser Fenster verhält sich leider noch nicht so. Wenn wir die TextBox in ein <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.aspx">ScrollViewer</a>-Element einbetten, erhalten wir das gewünschte Verhalten:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;TextEditor.MainWindow&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;MainWindow&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;350&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;525&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;23&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;1*&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RowDefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;26&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ColumnDefinition</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid.ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Menu</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Datei&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Bearbeiten&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Format&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Ansicht&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Hilfe&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Menu<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ScrollViewer</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;1&quot;</span></span>
<span style="color: #009900;">                      <span style="color: #000066;">HorizontalScrollBarVisibility</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span></span>
<span style="color: #009900;">                      <span style="color: #000066;">VerticalScrollBarVisibility</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBox</span> <span style="color: #000066;">AcceptsReturn</span>=<span style="color: #ff0000;">&quot;True&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ScrollViewer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Grid.Row</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Da jetzt ScrollViewer das Kindelement des Grids ist, muss die Zuweisung zu einer Layoutgitterzelle für das ScrollViewer-Element erfolgen. Die TextBox braucht dann keine Zuweisung mehr.</p>
<p>Mit den Eigenschaften <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.horizontalscrollbarvisibilityproperty(v=VS.100).aspx">HorizontalScrollBarVisibility</a> und <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.verticalscrollbarvisibilityproperty(v=VS.100).aspx">VerticalScrollBarVisibility</a> können wir steuern, wann die Schiebeleisten erscheinen.</p>
<h2>Variante mit DockPanel</h2>
<p>Das Ziel kann auch mit einem <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.aspx">DockPanel</a> erreicht werden. Tauschen wir mal das Grid durch ein DockPanel aus und entfernen die Zeilen- und Spaltendefinitionen und die Zuordnung zu den Layoutgitterzellen:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;TextEditor.MainWindow&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;MainWindow&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;350&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;525&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;DockPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Menu</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Top&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Datei&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Bearbeiten&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Format&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Ansicht&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Hilfe&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Menu<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ScrollViewer</span> <span style="color: #000066;">HorizontalScrollBarVisibility</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span></span>
<span style="color: #009900;">                      <span style="color: #000066;">VerticalScrollBarVisibility</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBox</span> <span style="color: #000066;">AcceptsReturn</span>=<span style="color: #ff0000;">&quot;True&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ScrollViewer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Bottom&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/DockPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Das Ergebnis sieht noch nicht so aus, wie wir wollen.</p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/02-DockPanel-01.png" /></p>
<p>Das Problem ist, dass bei einem DockPanel jenes Steuerelement, das den Rest der Fläche ausfüllen soll, als letztes angegeben werden muss. Das ist bei uns der ScrollViewer mit der TextBox. Außerdem gibt das DockPanel jedem Element gerade soviel Platz, wie es braucht, um den Inhalt darzustellen. Daher sollten wir etwas in der Statuszeile anzeigen, damit das DockPanel die Statuszeile überhaupt darstellt:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;TextEditor.MainWindow&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;MainWindow&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;350&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;525&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;DockPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Menu</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Top&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Datei&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Bearbeiten&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Format&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Ansicht&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> <span style="color: #000066;">Header</span>=<span style="color: #ff0000;">&quot;_Hilfe&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Menu<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StatusBar</span> <span style="color: #000066;">DockPanel.Dock</span>=<span style="color: #ff0000;">&quot;Bottom&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBlock</span> <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;Col 1, Ln 1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StatusBar<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ScrollViewer</span> <span style="color: #000066;">HorizontalScrollBarVisibility</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span></span>
<span style="color: #009900;">                      <span style="color: #000066;">VerticalScrollBarVisibility</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBox</span> <span style="color: #000066;">AcceptsReturn</span>=<span style="color: #ff0000;">&quot;True&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ScrollViewer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/DockPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Das sieht doch gleich besser aus.</p>
<p><img src="http://www.andreas-schlapsi.at/wp-content/uploads/2010/04/00-Ergebnis.png"/></p>
<h2>Zusammenfassung</h2>
<p>Wir kamen sowohl mit dem Grid als auch mit dem DockPanel an unser Ziel. Beide Varianten haben Vor- und Nachteile.</p>
<p>Beim Grid mussten wir die Definitionen für die Zeilen und Spalten und an den Steuerelementen sowohl die Spalte als auch die Zeile angeben, obwohl unser Layout nur eine Spalte hatte.</p>
<p>Das DockPanel hatte den Nachteil, dass die Reihenfolge geändert und daher die Statuszeile im XAML-Code vor der TextBox angegeben werden musste. Außerdem mussten alle Steuerelemente einen Inhalt haben, damit sie überhaupt angezeigt wurden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/04/25/benutzeroberflache-eines-texteditors-mit-wpf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steuerelemente und Panels in WPF</title>
		<link>http://www.andreas-schlapsi.at/2010/04/25/steuerelemente-und-panels-in-wpf/</link>
		<comments>http://www.andreas-schlapsi.at/2010/04/25/steuerelemente-und-panels-in-wpf/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 22:15:50 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=925</guid>
		<description><![CDATA[Layouting in WPF ist viel flexibler und mächtiger als in Windows Forms, aber auch viel komplexer. In Windows Forms gibt es Anchoring und Docking, um das Verhalten der Steuerelemente bei Änderung der Fenstergröße zu steuern. In WPF beeinflussen viele Faktoren die Anordnung der Steuerelemente, einer davon sind die Panel-Elemente. In der MSDN-Library findet sich eine [...]]]></description>
			<content:encoded><![CDATA[<p>Layouting in WPF ist viel flexibler und mächtiger als in Windows Forms, aber auch viel komplexer. In Windows Forms gibt es <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.control.anchor(v=VS.100).aspx">Anchoring</a> und <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dock(v=VS.100).aspx">Docking</a>, um das Verhalten der Steuerelemente bei Änderung der Fenstergröße zu steuern. In WPF beeinflussen viele Faktoren die Anordnung der Steuerelemente, einer davon sind die Panel-Elemente.<br />
<span id="more-925"></span><br />
In der <a href="http://msdn.microsoft.com/library/">MSDN-Library</a> findet sich eine <a href="http://msdn.microsoft.com/en-us/library/ms745058.aspx">Beschreibung des WPF-Layoutsystems</a>. Die wichtigsten Panel-Elemente sind:</p>
<table>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.aspx">Canvas</a></td>
<td>Definiert einen Bereich, in dem Elemente explizit mit Koordinaten relativ zu diesem Bereich positioniert werden.</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx">StackPanel</a></td>
<td>Die Elemente werden entweder horizontal oder vertikal in einer Linie angeordnet.<br />
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.aspx">DockPanel</a></td>
<td>Die Elemente werden an den Rändern positioniert oder füllen den inneren Restbereich.</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.wrappanel.aspx">WrapPanel</a></td>
<td>Die Elemente werden sequentiell von links nach rechts angeordnet und in die nächste Zeile umgebrochen, wenn am Ende einer Zeile kein Platz mehr ist.</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.aspx">Grid</a></td>
<td>Definiert einen flexiblen Gitterbereich, der aus Spalten und Zeilen besteht.</td>
</tr>
</table>
<p>Mehr Informationen über die verschiedenen Panel-Elemente gibt es im <a href="http://msdn.microsoft.com/en-us/library/ms754152.aspx">Artikel Panel Overview</a>.</p>
<p>Nicht nur die richtige Auswahl des Panel-Elements beeinflusst das Layout, einige Steuerelement-Eigenschaften haben ebenfalls Auswirkungen auf die Anordnung der Steuerelemente. Die wichtigsten Eigenschaften mit Einfluss auf das Layout sind:</p>
<table>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.horizontalalignment.aspx">HorizontalAlignment</a></td>
<td>Definiert, wie das Element horizontal innerhalb des Parent-Elements positioniert werden soll. Für diese Eigenschaft gibt es vier mögliche Werte: <em>Left</em>, <em>Center</em>, <em>Right</em>, <em>Stretch</em>.</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.verticalalignment.aspx">VerticalAlignment</a></td>
<td>Definiert, wie das Element vertikal innerhalb des Parent-Elements positioniert werden soll. Für diese Eigenschaft gibt es vier mögliche Werte: <em>Top</em>, <em>Center</em>, <em>Bottom</em>, <em>Stretch</em>.</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.margin.aspx">Margin</a></td>
<td>Definiert den Abstand zwischen dem Element und dem Elternelement oder den Geschwisterelementen.</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.border.padding.aspx">Padding</a></td>
<td>Definiert den Abstand zwischen dem Rand eines Steuerelements und seinen Kindelementen.</td>
</tr>
</table>
<p>Detailliertere Informationen über den Bedeutung dieser Eigenschaften gibt es in der <a href="http://msdn.microsoft.com/en-us/library/ms751709.aspx">MSDN-Library</a>.</p>
<p>Nicht jede Eigenschaft ist in jedem Panel sinnvoll. Folgende Tabelle zeigt die Wirkung bestimmter Kombinationen von Eigenschaften und Panel-Elementen:</p>
<table>
<tr>
<td rowspan="3"><em>Canvas</em></td>
<td>Margin</td>
<td>Teilweise: An den zwei Seiten, die für die Positionierung relevant sind, werden die entsprechenden Elemente des Margin-Werts hinzuaddiert.</td>
</tr>
<tr>
<td>HorizontalAlignment</td>
<td>Nein</td>
</tr>
<tr>
<td>VerticalAlignment</td>
<td>Nein</td>
</tr>
<tr>
<td rowspan="3"><em>StackPanel</em></td>
<td>Margin</td>
<td>Ja</td>
</tr>
<tr>
<td>HorizontalAlignment</td>
<td>Teilweise: Nur, wenn Orientation Vertical ist.</td>
</tr>
<tr>
<td>VerticalAlignment</td>
<td>Teilweise: Nur, wenn Orientation Horizontal ist.</td>
</tr>
<tr>
<td rowspan="3"><em>DockPanel</em></td>
<td>Margin</td>
<td>Ja</td>
</tr>
<tr>
<td>HorizontalAlignment</td>
<td>Teilweise: Wenn Dock den Wert Left oder Right hat, ist diese Eigenschaft sinnlos.</td>
</tr>
<tr>
<td>VerticalAlignment</td>
<td>Teilweise: Wenn Dock den Wert Top oder Bottom hat, ist diese Eigenschaft sinnlos.</td>
</tr>
<tr>
<td rowspan="3"><em>WrapPanel</em></td>
<td>Margin</td>
<td>Ja</td>
</tr>
<tr>
<td>HorizontalAlignment</td>
<td>Teilweise: Wenn Orientation Vertical ist oder ItemWidth genug Extraraum lässt.</td>
</tr>
<tr>
<td>VerticalAlignment</td>
<td>Teilweise: Wenn Orientation Horizontal ist oder ItemHeight genug Extraraum lässt.</td>
</tr>
<tr>
<td rowspan="3"><em>Grid</em></td>
<td>Margin</td>
<td>Ja</td>
</tr>
<tr>
<td>HorizontalAlignment</td>
<td>Ja</td>
</tr>
<tr>
<td>VerticalAlignment</td>
<td>Ja</td>
</tr>
</table>
<p>Welche Vorteile hat der WPF-Layoutmechanismus, der im Vergleich zu Windows Forms viel komplexer ist?</p>
<ol>
<li>Der Entwickler kann besser kontrollieren, wie sich die Anordnung der Steuerelemente verhalten soll, wenn der Benutzer die Größe des Fensters ändert. Das konnte aber bereits in Windows Forms mit dem Anchoring oder dem Docking erreicht werden.</li>
<li>Die Steuerelemente können ihre Größe und Position automatisch anpassen, wenn bei einer lokalisierten Anwendung die Texte der Übersetzungen länger sind. Darüber gibt es wieder einen <a href="http://msdn.microsoft.com/en-us/library/ms748828.aspx">Artikel in der MSDN-Library</a>.</li>
</ol>
<p>Es gibt weitere Panel-Elemente, die ich in diesem Artikel nicht berücksichtigt habe. Diese sind zum größten Teil nur für die Entwicklung eigener Steuerelemente relevant. Außerdem können eigene Panel-Elemente entwickelt werden, wenn die Vorgefertigten nicht ausreichen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/04/25/steuerelemente-und-panels-in-wpf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Coding Dojo in Wien</title>
		<link>http://www.andreas-schlapsi.at/2010/03/30/net-coding-dojo-in-wien/</link>
		<comments>http://www.andreas-schlapsi.at/2010/03/30/net-coding-dojo-in-wien/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 21:52:38 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[wien]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=909</guid>
		<description><![CDATA[Das nächste Wiener Coding-Dojo findet am 16. April statt. Vor dem Dojo wird es einen zusätzlichen Programmpunkt geben, der noch nicht bekannt ist. Als Kata für das eigentliche Dojo werden wir das Bowling-Kata durchexerzieren. Anmeldung und Information auf Ning.]]></description>
			<content:encoded><![CDATA[<p>Das nächste Wiener <a href="http://www.codingdojo.org/">Coding-Dojo</a> findet am 16. April statt. Vor dem Dojo wird es einen zusätzlichen Programmpunkt geben, der noch nicht bekannt ist. Als Kata für das eigentliche Dojo werden wir das <a href="http://www.codingdojo.org/cgi-bin/wiki.pl?KataBowling">Bowling-Kata</a> durchexerzieren.</p>
<p><a href="http://dotnetopenspace.ning.com/events/codingdojo-1">Anmeldung und Information auf Ning</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/03/30/net-coding-dojo-in-wien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nächster .NET Coding-Dojo in Wien</title>
		<link>http://www.andreas-schlapsi.at/2010/03/11/nachster-net-coding-dojo-in-wien/</link>
		<comments>http://www.andreas-schlapsi.at/2010/03/11/nachster-net-coding-dojo-in-wien/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 20:58:09 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[wien]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=904</guid>
		<description><![CDATA[Beinahe hätte ich vergessen, den nächsten Coding-Dojo anzukündigen. Morgen, am 12. März, findet der zweite Coding-Dojo in Wien statt. Anmeldung und Information auf Ning. Das Thema wird wieder &#8220;Test-Driven Development&#8221; (TDD) sein.]]></description>
			<content:encoded><![CDATA[<p>Beinahe hätte ich vergessen, den nächsten Coding-Dojo anzukündigen. Morgen, am 12. März, findet der zweite <a href="http://www.codingdojo.org/">Coding-Dojo</a> in Wien statt.</p>
<p><a href="http://dotnetopenspace.ning.com/events/codingdojo-tddbdd-teil2">Anmeldung und Information auf Ning</a>.</p>
<p>Das Thema wird wieder &#8220;Test-Driven Development&#8221; (TDD) sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/03/11/nachster-net-coding-dojo-in-wien/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>.NET-Coding-Dojo Wien</title>
		<link>http://www.andreas-schlapsi.at/2010/02/11/net-coding-dojo-wien/</link>
		<comments>http://www.andreas-schlapsi.at/2010/02/11/net-coding-dojo-wien/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 00:34:28 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[wien]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=882</guid>
		<description><![CDATA[Morgen, am 12. Februar, findet ein Coding-Dojo in Wien statt. Ein Coding-Dojo ist ein Treffen von Entwicklern, die zusammen an einer Programmieraufgabe arbeiten. Dabei geht es um den Spaß und ums Lernen. Anmeldung und Information auf Ning. Die Themen des ersten .NET-Coding-Dojos Wien sind &#8220;Test-Driven Development&#8221; (TDD) und &#8220;Behavior-Driven Development&#8221; (BDD).]]></description>
			<content:encoded><![CDATA[<p>Morgen, am 12. Februar, findet ein <a href="http://www.codingdojo.org/">Coding-Dojo</a> in Wien statt. Ein Coding-Dojo ist ein Treffen von Entwicklern, die zusammen an einer Programmieraufgabe arbeiten. Dabei geht es um den Spaß und ums Lernen.</p>
<p><a href="http://dotnetopenspace.ning.com/events/treffen-coding-dojo-tdd">Anmeldung und Information auf Ning</a>.</p>
<p>Die Themen des ersten .NET-Coding-Dojos Wien sind &#8220;Test-Driven Development&#8221; (TDD) und &#8220;Behavior-Driven Development&#8221; (BDD).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/02/11/net-coding-dojo-wien/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Neues über technische Schulden</title>
		<link>http://www.andreas-schlapsi.at/2010/01/26/neues-uber-technische-schulden/</link>
		<comments>http://www.andreas-schlapsi.at/2010/01/26/neues-uber-technische-schulden/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 00:19:50 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[refaktorisierung]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=846</guid>
		<description><![CDATA[Ich bin vor kurzem auf zwei interessante Artikel von David Laribee in den letzten beiden Ausgaben des MSDN-Magazins gestoßen. Im ersten Artikel mit dem Titel &#8220;Using Agile Techniques to Pay Back Technical Debt&#8221; beschreibt er, was technische Schulden sind und wie ein Team damit umgehen soll. Außerdem gibt David Laribee ein paar Tipps, wie man [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin vor kurzem auf zwei interessante Artikel von David Laribee in den letzten beiden Ausgaben des MSDN-Magazins gestoßen.</p>
<p>Im ersten Artikel mit dem Titel &#8220;<a href="http://msdn.microsoft.com/en-us/magazine/ee819135.aspx">Using Agile Techniques to Pay Back Technical Debt</a>&#8221; beschreibt er, was technische Schulden sind und wie ein Team damit umgehen soll. Außerdem gibt David Laribee ein paar Tipps, wie man Manager und Product Owner davon überzeugt, dass etwas gegen technische Schulden unternommen werden soll.</p>
<p>Der zweite Artikel, &#8220;<a href="http://msdn.microsoft.com/en-us/magazine/ee335722.aspx">9 Useful Tactics for Paying Back Technical Debt</a>&#8220;, beschreibt Vorgehensweisen im Umgang mit technischen Schulden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/01/26/neues-uber-technische-schulden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Um Unterstützung wird gebeten</title>
		<link>http://www.andreas-schlapsi.at/2010/01/10/um-unterstutzung-wird-gebeten/</link>
		<comments>http://www.andreas-schlapsi.at/2010/01/10/um-unterstutzung-wird-gebeten/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 11:10:24 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=812</guid>
		<description><![CDATA[Mario Meir-Huber hat für die MIX10 den Beitrag Microsoft Surface goes social – a research project at the University of Linz eingereicht. Damit er diesen vortragen kann, benötigt er bis 15.&#160;Jänner möglichst viele Stimmen für seinen Beitrag. Wer ihn dabei unterstützen will, macht Folgendes: Auf die Seite mit den vorgeschlagenen MIX2010-Beiträgen gehen: http://visitmix.com/opencallvote/ Nach &#8220;Mario [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codefest.at/author/mmh.aspx">Mario Meir-Huber</a> hat für die MIX10 den Beitrag <a href="http://visitmix.com/opencallvote/Entry?entryId=MICROS019">Microsoft Surface goes social – a research project at the University of Linz</a> eingereicht. Damit er diesen vortragen kann, benötigt er bis 15.&nbsp;Jänner möglichst viele Stimmen für seinen Beitrag.</p>
<p>Wer ihn dabei unterstützen will, macht Folgendes:</p>
<ol>
<li>Auf die Seite mit den vorgeschlagenen MIX2010-Beiträgen gehen: <a href="http://visitmix.com/opencallvote/">http://visitmix.com/opencallvote/</a></li>
<li>Nach &#8220;Mario Meir-Huber&#8221; suchen</li>
<li>Auf der Seite mit Marios Vorschlag auf &#8220;Add This Entry to Ballot&#8221; klicken</li>
<li>Dann auf &#8220;Submit Your Ballot&#8221; im rechten Feld klicken.</li>
</ol>
<p>Vielen Dank für die Unterstützung. Es würde mich sehr freuen, wenn Mario seinen Vortrag präsentieren kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/01/10/um-unterstutzung-wird-gebeten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erstes Open-Space-Pirates-Treffen in Wien</title>
		<link>http://www.andreas-schlapsi.at/2010/01/08/erstes-open-space-pirates-treffen-in-wien/</link>
		<comments>http://www.andreas-schlapsi.at/2010/01/08/erstes-open-space-pirates-treffen-in-wien/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 16:04:33 +0000</pubDate>
		<dc:creator>aschlapsi</dc:creator>
				<category><![CDATA[.NET-Plattform]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[wien]]></category>

		<guid isPermaLink="false">http://www.andreas-schlapsi.at/?p=801</guid>
		<description><![CDATA[Am 15. Jänner 2010 findet das erste Open-Space-Pirates-Treffen in Wien statt. Die Open-Space-Pirates sind eine informelle .NET-User-Group, zu der sich einige Teilnehmer des .NET Open Space 2009 in Wien im Dezember formiert haben. Das Thema des Treffens ist WPF/Silverlight mit Caliburn. Anmeldung und weitere Informationen im Wiki. Natürlich kann und soll man auch teilnehmen, wenn [...]]]></description>
			<content:encoded><![CDATA[<p>Am 15. Jänner 2010 findet das erste Open-Space-Pirates-Treffen in Wien statt. Die Open-Space-Pirates sind eine informelle .NET-User-Group, zu der sich einige Teilnehmer des <a href="http://wien.netopenspace.de/2009/" title=".NET Open Space 2009 in Wien">.NET Open Space 2009 in Wien</a> im Dezember formiert haben. Das Thema des Treffens ist WPF/Silverlight mit Caliburn.</p>
<p><a href="http://openspacepirates.wiki-site.com/index.php/Aktuelle_Ereignisse" title="Wiki der Open-Space-Pirates">Anmeldung und weitere Informationen im Wiki.</a></p>
<p>Natürlich kann und soll man auch teilnehmen, wenn man nicht beim .NET Open Space war und man das Thema interessant findet. </p>
<p>Geplant ist außerdem, die Planung und Organisation der weiteren Treffen zu besprechen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreas-schlapsi.at/2010/01/08/erstes-open-space-pirates-treffen-in-wien/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
