<?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>Biggle&#039;s Blog</title>
	<atom:link href="http://www.biggle.de/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.biggle.de/blog</link>
	<description>Web- und Software Development</description>
	<lastBuildDate>Wed, 02 May 2012 06:41:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Neuerdings im Web (April 2012)</title>
		<link>http://www.biggle.de/blog/neuerdings-im-web-april-2012</link>
		<comments>http://www.biggle.de/blog/neuerdings-im-web-april-2012#comments</comments>
		<pubDate>Wed, 02 May 2012 06:41:08 +0000</pubDate>
		<dc:creator>Mario Priebe</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[neuerdings]]></category>

		<guid isPermaLink="false">http://www.biggle.de/blog/?p=6962</guid>
		<description><![CDATA[Einen schönen Round-Up bringt uns NETTUTS über derzeitige Features und neuen nützlichen Javascript/jQuery Libraries für die Webentwicklung. Gut finde ich jQuery Scroll Path &#34;jQuery Scroll Path is a plugin that lets you define your own custom scroll path. What this means exactly is best understood by checking out the demo. The plugin uses canvas flavored [...]]]></description>
			<content:encoded><![CDATA[<p>Einen schönen Round-Up bringt uns <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL25ldC50dXRzcGx1cy5jb20vYXJ0aWNsZXMvbmV3cy9yZWNlbnRseS1pbi13ZWItZGV2ZWxvcG1lbnQtYXByaWwtJUUyJTgwJTk5MTItZWRpdGlvbi8=">NETTUTS </a>über derzeitige Features und neuen nützlichen Javascript/jQuery Libraries für die Webentwicklung. </p>
<p>Gut finde ich <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pvZWxiLm1lL3Njcm9sbHBhdGgv">jQuery Scroll Path</a></p>
<p>&quot;<em>jQuery Scroll Path is a plugin that lets you define your own custom scroll path. What this means exactly is best understood by checking out the <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pvZWxiLm1lL3Njcm9sbHBhdGg=">demo</a>. The plugin uses canvas flavored syntax for drawing paths, using the methods moveTo, lineTo and arc. To help with getting the path right, a canvas overlay with the path can be enabled when initializing the plugin.</em>&quot;</p>
<p>und <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL21hZHJvYmJ5L2tleW1hc3Rlcg==">keymaster.js</a> (analog <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2tlaXRoY2lya2VsLmNvLnVrL2p3ZXJ0eS8=">jwerty</a>).</p>
<p><em>&quot;Keymaster is a simple (100 LoC or so) micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.&quot;</em></p>
<p>Was ist dir im Monat April aufgefallen, was man unbedingt einmal ausprobieren sollte?</p>
<p>Sollte man jeden Monat aus den Bereichen Web und .NET eine solche Auflistung von Neuerungen machen? Was denkt Ihr?</p>
<hr /><p style="float:right; font-size:0.9em;">Dieser Beitrag stammt von <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGU=">Mario Priebe</a>.</p> <img src="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6962" width="1" height="1" style="display: none;" /><h2  class="related_post_title">Ähnliche Beiträge</h2><ul class="related_post"><li>Keine ähnliche Beiträge vorhanden</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.biggle.de/blog/neuerdings-im-web-april-2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interaction Event-Trigger als Style auslagern</title>
		<link>http://www.biggle.de/blog/interaction-event-trigger-als-style-auslagern</link>
		<comments>http://www.biggle.de/blog/interaction-event-trigger-als-style-auslagern#comments</comments>
		<pubDate>Mon, 23 Apr 2012 10:26:31 +0000</pubDate>
		<dc:creator>Mario Priebe</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[caliburn]]></category>
		<category><![CDATA[MVVM]]></category>

		<guid isPermaLink="false">http://www.biggle.de/blog/?p=6959</guid>
		<description><![CDATA[In einem Caliburn.Micro Projekt setze ich den EventTrigger ein, um meine Commands an einem ViewModel zu binden. Nun möchte ich gerne immer den selben EventTrigger an mehreren Stellen einsetzen und verhindern, dass der Code an “tausend” Stellen redundant eingesetzt wird. Aus diesem Grund, soll diese Interaktion als Style zu Verfügung gestellt werden. Der folgende Code [...]]]></description>
			<content:encoded><![CDATA[<p>In einem <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NhbGlidXJubWljcm8uY29kZXBsZXguY29tLw==">Caliburn.Micro</a> Projekt setze ich den <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3N5c3RlbS53aW5kb3dzLmV2ZW50dHJpZ2dlci5hc3B4"><strong>EventTrigger</strong></a> ein, um meine <strong>Commands</strong> an einem ViewModel zu binden.</p>
<p>Nun möchte ich gerne immer den selben EventTrigger an mehreren Stellen einsetzen und verhindern, dass der Code an “tausend” Stellen redundant eingesetzt wird. Aus diesem Grund, soll diese <strong>Interaktion</strong> als Style zu Verfügung gestellt werden.</p>
<p>Der folgende Code zeigt, wie der redundante Code aussehen würde:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:33815d1c-98f3-4d0f-82e2-7d901005982f" class="wlWriterEditableSmartContent">
<pre style=" width: 500px; height: 215px;background-color:White;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">&lt;</span><span style="color: #000000;">r:RibbonButton
        Label</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">{x:Static Helper:ViewModels.AlleKontaktGruppen}</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
        LargeImageSource</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">/OCC.Resources;component/Images/32/kdm/Groups-Meeting-Dark-icon.png</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">i:Interaction.Triggers</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">i:EventTrigger EventName</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Click</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">cal:ActionMessage MethodName</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Navigate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">cal:Parameter Value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type r:RibbonButton}, AncestorLevel=1},Path=Label}</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">/&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">cal:ActionMessage</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">i:EventTrigger</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
        </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">i:Interaction.Triggers</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">r:RibbonButton</span><span style="color: #000000;">&gt;</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<p>Wie gehen wir also vor? Wir leiten uns dazu eine Klasse namens “Triggers” von einer typisierten Liste des Typen <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2ZmNzI2NTUyKEV4cHJlc3Npb24uNDApLmFzcHg=">System.Windows.Interactivity.TriggerBase</a> ab und registrieren diese als DepedencyProperty:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:8115122c-bd79-4905-bb0c-79bc7347409c" class="wlWriterEditableSmartContent">
<pre style=" width: 500px; height: 369px;background-color:White;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #0000FF;">using</span><span style="color: #000000;"> System.Collections.Generic;
</span><span style="color: #0000FF;">using</span><span style="color: #000000;"> System.Windows;
</span><span style="color: #0000FF;">using</span><span style="color: #000000;"> System.Windows.Interactivity;

</span><span style="color: #0000FF;">namespace</span><span style="color: #000000;"> OCC.WPF.Helper
{
    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> Triggers : List</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">System.Windows.Interactivity.TriggerBase</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"> { }

    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> OCCInteraction
    {
        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> Triggers GetTriggers(DependencyObject obj)
        {
            </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> (Triggers)obj.GetValue(TriggersProperty);
        }

        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> SetTriggers(DependencyObject obj, Triggers value)
        {
            obj.SetValue(TriggersProperty, value);
        }

        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">readonly</span><span style="color: #000000;"> DependencyProperty TriggersProperty </span><span style="color: #000000;">=</span><span style="color: #000000;">
            DependencyProperty.RegisterAttached(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Triggers</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">, </span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(Triggers), </span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(OCCInteraction), </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> UIPropertyMetadata(</span><span style="color: #0000FF;">null</span><span style="color: #000000;">, OnPropertyTriggersChanged));

        </span><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> OnPropertyTriggersChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var triggers </span><span style="color: #000000;">=</span><span style="color: #000000;"> Interaction.GetTriggers(d);
            </span><span style="color: #0000FF;">foreach</span><span style="color: #000000;"> (var trigger </span><span style="color: #0000FF;">in</span><span style="color: #000000;"> e.NewValue </span><span style="color: #0000FF;">as</span><span style="color: #000000;"> Triggers) triggers.Add(trigger);
        }
    }
}</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>Und in einem Ressourcenwörterbuch “Style.xaml” bauen wir uns den entsprechenden Trigger dann in zusammen:</p>
<p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:df9a2664-85af-49fe-8b7e-625a53a23f50" class="wlWriterEditableSmartContent">
<pre style=" width: 500px; height: 261px;background-color:White;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">&lt;</span><span style="color: #000000;">ResourceDictionary xmlns</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">http://schemas.microsoft.com/winfx/2006/xaml/presentation</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
                    xmlns:x</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">http://schemas.microsoft.com/winfx/2006/xaml</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> xmlns:Helper</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">clr-namespace:OCC.WPF.Helper</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
                    xmlns:i</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">http://schemas.microsoft.com/expression/2010/interactivity</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
                    xmlns:cal</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">http://www.caliburnproject.org</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
                    xmlns:Ribbon</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Helper:Triggers x:Key</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ribbonBtnClickTrigger</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> x:Shared</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">False</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">i:EventTrigger EventName</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Click</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">cal:ActionMessage MethodName</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Navigate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">cal:Parameter Value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">{Binding RelativeSource={RelativeSource FindAncestor, </span><span style="color: #800000;">
</span><span style="color: #000000;">                    AncestorType</span><span style="color: #000000;">=</span><span style="color: #000000;">{x:Type Ribbon:RibbonButton}, AncestorLevel</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;">},Path</span><span style="color: #000000;">=</span><span style="color: #000000;">Label}</span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> /&gt;</span><span style="color: #800000;">
</span><span style="color: #000000;">            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">cal:ActionMessage</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
        </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">i:EventTrigger</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">Helper:Triggers</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Style x:Key</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ribbonBtnClickBehavior</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> TargetType</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">FrameworkElement</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Setter Property</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Helper:OCCInteraction.Triggers</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> Value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">{StaticResource ribbonBtnClickTrigger}</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;">
    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">Style</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">ResourceDictionary</span><span style="color: #000000;">&gt;</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>Anschließend können wir unser Element an das <strong>Style</strong>-Attribute binden:</p>
<p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:3d4cfadc-3056-45bc-8ebe-990b5a5e9ae4" class="wlWriterEditableSmartContent">
<pre style=" width: 500px; height: 111px;background-color:White;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">r:RibbonButton
        Label</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">{x:Static Helper:ViewModelNames.AlleKontaktGruppen}</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
        LargeImageSource</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">/OCC.Resources;component/Images/32/kdm/Groups-Meeting-Dark-icon.png</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
        Style</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">{StaticResource ribbonBtnClickBehavior}</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">/&gt;</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>Sieht doch gleich viel besser aus.</p>
<p>Viel Spaß beim entwickeln : )</p>
<hr /><p style="float:right; font-size:0.9em;">Dieser Beitrag stammt von <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGU=">Mario Priebe</a>.</p> <img src="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6959" width="1" height="1" style="display: none;" /><h2  class="related_post_title">Ähnliche Beiträge</h2><ul class="related_post"><li>14. Januar 2012 -- <a href="http://www.biggle.de/blog/asynchrones-befllen-einer-observablecollectiont-in-einem-viewmodel" title="Asynchrones Bef&uuml;llen einer ObservableCollection&lt;T&gt; in einem ViewModel">Asynchrones Bef&uuml;llen einer ObservableCollection&lt;T&gt; in einem ViewModel</a></li><li>5. Mai 2010 -- <a href="http://www.biggle.de/blog/combobox-an-objectprovider-binden" title="ComboBox an ObjectDataProvider binden">ComboBox an ObjectDataProvider binden</a></li><li>22. Juli 2009 -- <a href="http://www.biggle.de/blog/cal-anwendung-in-3-minuten" title="CAL Anwendung in 3 Minuten">CAL Anwendung in 3 Minuten</a></li><li>16. Juli 2009 -- <a href="http://www.biggle.de/blog/menuitems-aus-xml-auslesen-und-binden-wpf-mvvm" title="MenuItems aus XML auslesen und binden &#8211; WPF / MVVM ">MenuItems aus XML auslesen und binden &#8211; WPF / MVVM </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.biggle.de/blog/interaction-event-trigger-als-style-auslagern/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outlook als GTD Applikation</title>
		<link>http://www.biggle.de/blog/outlook-als-gtd-applikation</link>
		<comments>http://www.biggle.de/blog/outlook-als-gtd-applikation#comments</comments>
		<pubDate>Wed, 18 Apr 2012 07:05:57 +0000</pubDate>
		<dc:creator>Mario Priebe</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.biggle.de/blog/?p=6930</guid>
		<description><![CDATA[GTD steht für Getting Things Done und beschreibt Methodiken, seinen täglichen Aufgaben produktiv und effizient zu erledigen. Lesenswerte Artikel zum Thema GTD stehen am Ende des Tutorials. Zieldefinition Ziel ist es, im Outlook ein Dashboard bereit zu stellen, welches einem alle Aufgaben, den Posteingang, den Kalender, Notizen und die Kontakte anzeigt. Das Besondere dabei ist, [...]]]></description>
			<content:encoded><![CDATA[<p>GTD steht für Getting Things Done und beschreibt Methodiken, seinen täglichen Aufgaben produktiv und effizient zu erledigen. Lesenswerte Artikel zum Thema GTD stehen am Ende des Tutorials.    </p>
<h2>Zieldefinition</h2>
<p>Ziel ist es, im Outlook ein Dashboard bereit zu stellen, welches einem alle Aufgaben, den Posteingang, den Kalender, Notizen und die Kontakte anzeigt. Das Besondere dabei ist, das die Aufgaben in (agiler) Form eines <strong>Scrum</strong>/<strong>Kanban Boards</strong> angezeigt werden.     </p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC9pbWFnZTcucG5n"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/image_thumb7.png" width="504" height="308" /></a></p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC9pbWFnZTEucG5n"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/image_thumb1.png" width="504" height="308" /></a></p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC9pbWFnZTIucG5n"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/image_thumb2.png" width="504" height="308" /></a></p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC9pbWFnZTMucG5n"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/image_thumb3.png" width="504" height="308" /></a></p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC9pbWFnZTQucG5n"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/image_thumb4.png" width="504" height="308" /></a></p>
<h2>Features</h2>
<li>Innerhalb der Aufgabenlisten die man hier im Screenshot sieht, kann man via Drag &amp; Drop die Aufgabe von einer &quot;Pane&quot; in eine andere &quot;Pane&quot; verschieben.&#160; </li>
<li>Neue Mails werden automatisch als neue Aufgabe in das Backlog kopiert.<br />
<h2>Taskordner anlegen.</h2>
<p>Zu Beginn müssen wir unserer &quot;Panes&quot; anlegen, das machen wir, indem unter Aufgaben die entsprechende Ordner erstellt werden. Dazu geht man unter Aufgaben mit der rechten Maustaste auf Vorgangsliste und wählt hier &quot;Neuer Ordner&quot;. Dies macht man für alle Ordner die man benötigt. In meinem Fall sind das die folgende drei: <strong>backlog</strong>, <strong>in progress</strong> und <strong>done</strong>.</p>
<p>&#160;<a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDUwXzE5LnBuZw=="><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h50_19" border="0" alt="2012-04-17_14h50_19" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h50_19_thumb.png" width="336" height="427" /></a>      </p>
</li>
<h2>Dashboard erstellen</h2>
<p>
<p>Nachdem wir nun die Aufgaben-Ordner erstellt haben, sollen diese im Dashboard angezeigt werden. Dazu müssen wir vorerst das Dashboard erstellen:      <br />Hier legen wir uns eine *.html-Datei an einem beliebigen (sicheren) Ort ab. Ich erstelle dazu in meinem Entwicklungsordner einen Ordner namens &quot;#OutlookToday &quot;. Das Pfad müsste nun so aussehen:&#160; &quot;D:\Dev\#OutlookToday\OutlookToday.html&quot;.</p>
</p>
<p>
<p>In dieser Datei, designen wir nun unser DashBoard.      <br />Die Elemente die wir im Dashboard anzeigen wollen, werden mittels Object-Element eingebunden, hier kann man über den Parameter &quot;Folder&quot; das&#160; jeweilige Outlook-Element anzeigen.</p>
<p>Für den Posteingang sieht das wie folgt aus:</p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDE3XzE5LnBuZw=="><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h17_19" border="0" alt="2012-04-17_14h17_19" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h17_19_thumb.png" width="504" height="75" /></a></p>
<p>Man kann jeden beliebigen Ordner anhand des Namens angeben. z.B. auch den Ordner &quot;Gesendete Elemente&quot;</p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDE4XzQwLnBuZw=="><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h18_40" border="0" alt="2012-04-17_14h18_40" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h18_40_thumb.png" width="504" height="82" /></a></p>
<p>Nun baut man sich mit ein paar Html/jQuery Kenntnissen ein Design zusammen und bindet die entsprechenden Object-elemente an den Stellen ein, wo man diese benötigt. Mein Beispiel sieht wie folgt aus: </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:f657ece2-9cba-47ac-b466-b26f77cf0635" class="wlWriterEditableSmartContent">
<pre style=" width: 500px; height: 431px;background-color:White;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">&lt;</span><span style="color: #000000;">html</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">head</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">title</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Dashboard</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">title</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"> 

    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">script src</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">        

    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">style type</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">text/css</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
        a:active, a:focus {
           outline:  none;
           ie</span><span style="color: #000000;">-</span><span style="color: #000000;">dummy: expression(</span><span style="color: #0000FF;">this</span><span style="color: #000000;">.hideFocus</span><span style="color: #000000;">=</span><span style="color: #0000FF;">true</span><span style="color: #000000;">);
        }

        h1{
            font: bold italic 2em</span><span style="color: #000000;">/</span><span style="color: #000000;">1em </span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Times New Roman</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">, </span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MS Serif</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">, </span><span style="color: #800000;">&quot;</span><span style="color: #800000;">New York</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">, serif;
            margin: </span><span style="color: #800080;">5</span><span style="color: #000000;">;
            padding: </span><span style="color: #800080;">0</span><span style="color: #000000;">;
            color: #cc3300;
            border</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom: dotted #cc3300 thin;

        }
        .thirds{
            width: </span><span style="color: #800080;">33</span><span style="color: #000000;">%</span><span style="color: #000000;">;
            </span><span style="color: #0000FF;">float</span><span style="color: #000000;">:left;
        }

        #tabbed_box_1 {
            margin: 0px auto 0px auto;
            width:</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;">;
        }

        .tabbed_area {
            border:1px solid #494e52;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">color:#636d76;
            padding:8px;
        }

        ul.tabs {
            margin:0px; padding:0px;
            margin</span><span style="color: #000000;">-</span><span style="color: #000000;">top:5px;
            margin</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom:6px;
        }
        ul.tabs li {
            list</span><span style="color: #000000;">-</span><span style="color: #000000;">style:none;
            display:inline;
        }
        ul.tabs li a {
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">color:#464c54;
            color:#ffebb5;
            padding:8px 14px 8px 14px;
            text</span><span style="color: #000000;">-</span><span style="color: #000000;">decoration:none;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">size:9px;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">family:Verdana, Arial, Helvetica, sans</span><span style="color: #000000;">-</span><span style="color: #000000;">serif;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">weight:bold;
            text</span><span style="color: #000000;">-</span><span style="color: #000000;">transform:uppercase;
            border:1px solid #464c54;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">image:url(images</span><span style="color: #000000;">/</span><span style="color: #000000;">tab_off.jpg);
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">repeat:repeat</span><span style="color: #000000;">-</span><span style="color: #000000;">x;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">position:bottom;
        }

        ul.tabs li a:hover {
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">color:#ffffff;
            color:#282e32;
            border:1px solid #464c54;
            border</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom: 1px solid #ffffff;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">image:url(images</span><span style="color: #000000;">/</span><span style="color: #000000;">tab_on.jpg);
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">repeat:repeat</span><span style="color: #000000;">-</span><span style="color: #000000;">x;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">position:top;
        }

        ul.tabs li a.active {
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">color:#ffffff;
            color:#282e32;
            border:1px solid #464c54;
            border</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom: 1px solid #ffffff;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">image:url(images</span><span style="color: #000000;">/</span><span style="color: #000000;">tab_on.jpg);
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">repeat:repeat</span><span style="color: #000000;">-</span><span style="color: #000000;">x;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">position:top;
        }

        .content {
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">color:#ffffff;
            height: 400px;
            border:1px solid #464c54;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">family:Arial, Helvetica, sans</span><span style="color: #000000;">-</span><span style="color: #000000;">serif;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">image:url(images</span><span style="color: #000000;">/</span><span style="color: #000000;">content_bottom.jpg);
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">repeat:repeat</span><span style="color: #000000;">-</span><span style="color: #000000;">x;
            background</span><span style="color: #000000;">-</span><span style="color: #000000;">position:bottom;
            padding: 20px 0px 40px 0px;
        }

        #content_2, #content_3, #content_4, #content_5  { display:none; }

        .content ul {
            margin:0px;
        }
        .content ul li {
            list</span><span style="color: #000000;">-</span><span style="color: #000000;">style:none;
            border</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom:1px solid #d6dde0;
            padding</span><span style="color: #000000;">-</span><span style="color: #000000;">top:15px;
            padding</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom:15px;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">size:13px;
        }
        .content ul li:last</span><span style="color: #000000;">-</span><span style="color: #000000;">child {
            border</span><span style="color: #000000;">-</span><span style="color: #000000;">bottom:none;
        }
        .content ul li a {
            text</span><span style="color: #000000;">-</span><span style="color: #000000;">decoration:none;
            color:#3e4346;
        }
        .content ul li a small {
            color:#8b959c;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">size:9px;
            text</span><span style="color: #000000;">-</span><span style="color: #000000;">transform:uppercase;
            font</span><span style="color: #000000;">-</span><span style="color: #000000;">family:Verdana, Arial, Helvetica, sans</span><span style="color: #000000;">-</span><span style="color: #000000;">serif;
            position:relative;
            left:4px;
            top:0px;
        }
        .content ul li a:hover {
            color:#a59c83;
        }
        .content ul li a:hover small {
            color:#baae8e;
        }
    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">style</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">head</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">body</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

    </span><span style="color: #000000;">&lt;!--</span><span style="color: #000000;"> TabControl http:</span><span style="color: #008000;">//</span><span style="color: #008000;">d2o0t5hpnwv4c1.cloudfront.net/001_Tabbed/site/jQuery.html# --&gt;</span><span style="color: #008000;">
</span><span style="color: #000000;">    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div id</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tabbed_box_1</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tabbed_box</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tabbed_area</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">        

            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">ul </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tabs</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">a href</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">#</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> title</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_1</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tab active</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Board</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">a</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">a href</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">#</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> title</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_2</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tab</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Inbox</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">a</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">a href</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">#</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> title</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_3</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tab</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Appointments</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">a</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">a href</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">#</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> title</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_4</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tab</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Notes</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">a</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">a href</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">#</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> title</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_5</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">tab</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Contacts</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">a</span><span style="color: #000000;">&gt;&lt;/</span><span style="color: #000000;">li</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">ul</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div id</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_1</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">                

                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">thirds</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">BACKLOG</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;"> height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                       </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Aufgaben\backlog</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                       </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                       </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">    

                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">thirds</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                     </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">PROGRESS</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;"> height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Aufgaben\in progress</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">    

                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">thirds</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">DONE</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;">     height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Aufgaben\done</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                        </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">                

            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div id</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_2</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Inbox</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;">     height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Posteingang</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div id</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_3</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Appointments</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;">     height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Kalender</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

              </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div id</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_4</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Notes</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;">     height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Notes</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                    </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
              </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

            </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div id</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content_5</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">content</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">Contacts</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">h1</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">OBJECT classid</span><span style="color: #000000;">=</span><span style="color: #000000;">CLSID:0006F063</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #800080;">0000</span><span style="color: #000000;">-</span><span style="color: #000000;">C000</span><span style="color: #000000;">-</span><span style="color: #800080;">000000000046</span><span style="color: #000000;"> id</span><span style="color: #000000;">=</span><span style="color: #000000;">ViewCtlFolder width</span><span style="color: #000000;">=</span><span style="color: #800080;">100</span><span style="color: #000000;">%</span><span style="color: #000000;">     height</span><span style="color: #000000;">=</span><span style="color: #800080;">500</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Folder</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Contacts</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Namespace</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Restriction</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">param name</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">DeferUpdate</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">0</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
                </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">OBJECT</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
            </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

        </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
    </span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">script type</span><span style="color: #000000;">=</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

 $(document).ready(function(){

        </span><span style="color: #008000;">//</span><span style="color: #008000;"> When a link is clicked</span><span style="color: #008000;">
</span><span style="color: #000000;">        $(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">a.tab</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">).click(function () {

            $(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">.active</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">).removeClass(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">active</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">);
            $(</span><span style="color: #0000FF;">this</span><span style="color: #000000;">).addClass(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">active</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">);
            $(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">.content</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">).hide();

            </span><span style="color: #008000;">//</span><span style="color: #008000;"> slide this content up</span><span style="color: #008000;">
</span><span style="color: #000000;">            var content_show </span><span style="color: #000000;">=</span><span style="color: #000000;"> $(</span><span style="color: #0000FF;">this</span><span style="color: #000000;">).attr(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">title</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">);
            $(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">#</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">+</span><span style="color: #000000;">content_show).show();

        });

});

</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">

</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">body</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">
</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">html</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">    </span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<h2>In Outlook einbinden.</h2>
<p>Um die OutlookToday.html in Outlook einzubinden, geht man mittels Rechtsklick auf den Posteingang und wählt hier unter Eigenschaften den Reiter &quot;Homepage&quot;&#160; <br /> <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDUwXzE5LTEucG5n"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h50_19 (1)" border="0" alt="2012-04-17_14h50_19 (1)" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h50_19-1_thumb.png" width="336" height="427" /></a></p>
<p></p>
<p>und trägt hier den Pfad ein: <strong>D:\Dev\#OutlookToday\OutlookToday.html</strong></p>
<p><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC9pbWFnZTUucG5n"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/image_thumb5.png" width="463" height="563" /></a>&#160;</p>
<h2>Neue Mails als Aufgabe in Backlog kopieren</h2>
<p>Nun kommen wir zum zweiten Feature. Wenn eine neue Mail eintrifft, wollen wir einer Regel erstellen, die die Mail als Kopie in den Aufgaben-Ordner &quot;Backlog&quot; kopiert.</p>
<p>
    <br />Dazu benötigen wir ein VBAScript, welches man im Visual Basic Editor erstellen kann. Diesen ruft man mit der Tastenkombination <strong>ALT F11</strong> auf. Hier fügt man ein neues Modul ein</p>
<p>
    <br />&#160;<a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDM3XzAxLnBuZw=="><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h37_01" border="0" alt="2012-04-17_14h37_01" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h37_01_thumb.png" width="404" height="254" /></a></p>
<p></p>
<p>In diesem Modul schreibt man folgenden Code </p>
<p>
    <br /><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDM4XzA2LnBuZw=="><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h38_06" border="0" alt="2012-04-17_14h38_06" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h38_06_thumb.png" width="504" height="134" /></a></p>
<p><font size="2">(Das Copy() im Code ist ein Workaround, da sonst die Mail nicht mehr im Posteingang gelistet wird)</font></p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:ba90ddc6-df79-4b94-8083-db7e49ecc408" class="wlWriterEditableSmartContent">
<pre style=" width: 500px; height: 192px;background-color:White;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000;">Sub RulesScript(olItem As MailItem)
   Set copyitem </span><span style="color: #000000;">=</span><span style="color: #000000;"> olItem.Copy
   Set myTasks </span><span style="color: #000000;">=</span><span style="color: #000000;"> Application.GetNamespace(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">MAPI</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">).GetDefaultFolder(olFolderTasks)

   Set backlog </span><span style="color: #000000;">=</span><span style="color: #000000;"> myTasks.Folders(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">backlog</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">)
   olItem.Move backlog
End Sub</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<p>Nach dem Speichern und Schließen des VBA Editors, müssen wir eine Regel erstellen, die diesen Code ausführt.</p>
<p>Dazu gehen wir im Outlook unter <strong>Extras </strong>auf <strong>Regeln und Benachrichtigungen.</strong></p>
<p><strong><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGUvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNC8yMDEyLTA0LTE3XzE0aDM0XzUxLnBuZw=="><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2012-04-17_14h34_51" border="0" alt="2012-04-17_14h34_51" src="http://www.biggle.de/blog/wp-content/uploads/2012/04/2012-04-17_14h34_51_thumb.png" width="361" height="390" /></a> </p>
<p></strong></p>
<p>Hier erstellen wir folgende neue Regel.</p>
</p>
<li>nur auf diesen Computer </li>
<li>die meinen Namen im Feld &quot;An&quot; oder &quot;CC&quot; enthält </li>
<li>Weiter </li>
<li>ein Script ausführen </li>
<li>Im unteren Bereich das <strong>RulesScript </strong>wählen </li>
<li>weiter </li>
<li>weiter </li>
<li>Der Regel einen Namen vergeben </li>
<li>Regel aktivieren&#160; </li>
<li>Fertig stellen
<p><div class="note"><div class="notetip">Die Regel empfehle ich natürlich entsprechend anzupassen, nicht jede Mail macht Sinn in das Backlog&#160; geschoben zu werden.</div></div></p>
<p>Nun sollte, wenn alles glatt gelaufen ist, die Regel auch aktiv sein.&#160; </p>
<p>In der&#160; Board-Ansicht ist man in der Lage, die Aufgaben zwischen den einzelnen Aufgaben-Ordnern (&quot;Panes&quot;) mit der Maus zu verschieben, um sich so den derzeitigen Aufgaben-Zustand zu visualisieren.</p>
<p>So, das war es auch schon. Ich hoffe Ihr findet Verwendung mit dem Outlook-Dashboard und habt so etwas mehr Organisation in Eurer täglichen Arbeit. </p>
<p>Wenn irgendwas nicht hinhaut, einfach einen Kommentar hinterlassen.</p>
<p>Links: </p>
<li><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2thcnJpZXJlYmliZWwuZGUvcHJvZHVrdGl2ZXItYXJiZWl0ZW4tYWxsZS10b29scy11bmQtdGVjaG5pa2VuLXZvbi1ndGQtYmlzLXp0ZC8/dXRtX3NvdXJjZT1mZWVkYnVybmVyJmFtcDt1dG1fbWVkaXVtPWZlZWQmYW1wO3V0bV9jYW1wYWlnbj1GZWVkJTNBK2thcnJpZXJlYmliZWxibG9nKyUyOEthcnJpZXJlLUJpYmVsJTI5">Produktiver Arbeiten &#8211; Alle Tools und Techniken </a></li>
<li><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RhdXRva28uaW5mby8yMDA1LzA2LzEzL2d0ZC1pbi1laW5lci1udXNzY2hhbGU=">GTD in einer Nußschale</a> </li>
<li><a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vdS8wL2IvMTEwNTkyODc1ODcxNDM2MTQzMDE1Lw==">GTD auf Google+</a> </li>
</li>
<hr /><p style="float:right; font-size:0.9em;">Dieser Beitrag stammt von <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGU=">Mario Priebe</a>.</p> <img src="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6930" width="1" height="1" style="display: none;" /><h2  class="related_post_title">Ähnliche Beiträge</h2><ul class="related_post"><li>11. April 2012 -- <a href="http://www.biggle.de/blog/unable-to-write-objrelease" title="Unable to write * &#8216;obj\Release\">Unable to write * &#8216;obj\Release\</a></li><li>31. Juli 2011 -- <a href="http://www.biggle.de/blog/gottmodus-in-windows-7-aktivieren" title="Gottmodus in Windows 7 aktivieren">Gottmodus in Windows 7 aktivieren</a></li><li>4. Juli 2011 -- <a href="http://www.biggle.de/blog/neuer-ordner-im-projekt-per-hotkey" title="Neuer Ordner im Projekt per Hotkey">Neuer Ordner im Projekt per Hotkey</a></li><li>25. Juni 2011 -- <a href="http://www.biggle.de/blog/enumeration-in-einer-combobox-darstellen-wpf-quicky" title="Enumeration in einer ComboBox darstellen &#8211; WPF Quicky">Enumeration in einer ComboBox darstellen &#8211; WPF Quicky</a></li><li>9. Juni 2011 -- <a href="http://www.biggle.de/blog/entscheidungen-einfach-gemacht" title="Entscheidungen einfach gemacht">Entscheidungen einfach gemacht</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.biggle.de/blog/outlook-als-gtd-applikation/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Unable to write * &#8216;obj\Release\</title>
		<link>http://www.biggle.de/blog/unable-to-write-objrelease</link>
		<comments>http://www.biggle.de/blog/unable-to-write-objrelease#comments</comments>
		<pubDate>Wed, 11 Apr 2012 06:18:16 +0000</pubDate>
		<dc:creator>Mario Priebe</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[tfs]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.biggle.de/blog/?p=6916</guid>
		<description><![CDATA[Bekommt man diese, oder eine ähnliche Fehlermeldung “Unable to write * &#8216;obj\Release\”, löscht man am besten einmal den obj Ordner und prüft ob dieser eventuell im TFS mit eingecheckt wurde, was verhindert, das der Schreibschutz effektiv aufgehoben wird. Also dann einfach auf dem TFS löschen, einchecken und Projekt bauen. &#160; Viel Spaß beim entwickeln : [...]]]></description>
			<content:encoded><![CDATA[<p>Bekommt man diese, oder eine ähnliche Fehlermeldung “<strong>Unable to write * &#8216;obj\Release\</strong>”, löscht man am besten einmal den obj Ordner und prüft ob dieser eventuell im TFS mit eingecheckt wurde, was verhindert, das der Schreibschutz effektiv aufgehoben wird.</p>
<p>Also dann einfach auf dem TFS löschen, einchecken und Projekt bauen.</p>
<p>&#160;</p>
<p>Viel Spaß beim entwickeln : )</p>
<hr /><p style="float:right; font-size:0.9em;">Dieser Beitrag stammt von <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGU=">Mario Priebe</a>.</p> <img src="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6916" width="1" height="1" style="display: none;" /><h2  class="related_post_title">Ähnliche Beiträge</h2><ul class="related_post"><li>18. April 2012 -- <a href="http://www.biggle.de/blog/outlook-als-gtd-applikation" title="Outlook als GTD Applikation">Outlook als GTD Applikation</a></li><li>12. Januar 2012 -- <a href="http://www.biggle.de/blog/automatisiertes-ein-und-auschecken-im-buildprozess" title="Automatisiertes Ein- und Auschecken im Buildprozess">Automatisiertes Ein- und Auschecken im Buildprozess</a></li><li>31. Juli 2011 -- <a href="http://www.biggle.de/blog/gottmodus-in-windows-7-aktivieren" title="Gottmodus in Windows 7 aktivieren">Gottmodus in Windows 7 aktivieren</a></li><li>4. Juli 2011 -- <a href="http://www.biggle.de/blog/neuer-ordner-im-projekt-per-hotkey" title="Neuer Ordner im Projekt per Hotkey">Neuer Ordner im Projekt per Hotkey</a></li><li>25. Juni 2011 -- <a href="http://www.biggle.de/blog/enumeration-in-einer-combobox-darstellen-wpf-quicky" title="Enumeration in einer ComboBox darstellen &#8211; WPF Quicky">Enumeration in einer ComboBox darstellen &#8211; WPF Quicky</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.biggle.de/blog/unable-to-write-objrelease/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF und Windows Forms &#8211; Die Wahl zwischen den Windows GUI Technologien.</title>
		<link>http://www.biggle.de/blog/wpf-und-windows-forms-die-wahl-zwischen-den-windows-gui-technologien</link>
		<comments>http://www.biggle.de/blog/wpf-und-windows-forms-die-wahl-zwischen-den-windows-gui-technologien#comments</comments>
		<pubDate>Sat, 07 Apr 2012 13:11:36 +0000</pubDate>
		<dc:creator>Mario Priebe</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[WindowsForms]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.biggle.de/blog/?p=6913</guid>
		<description><![CDATA[Wenn wir Entwickler für Windows grafische Benutzeroberflächen (GUIs) entwickeln möchten, haben wir die Wahl zwischen Windows Forms und WPF. Jede dieser Technologien haben ihre Vor- und Nachteile. In diesem Artikel möchte ich auf die Hauptunterschiede beider Technologien eingehen und bei der Entscheidung helfen, welche der beiden für den Einsatzzweck vom Vorteil ist. Windows Forms Windows [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn wir Entwickler für Windows grafische Benutzeroberflächen (GUIs) entwickeln möchten, haben wir die Wahl zwischen Windows Forms und WPF.</p>
<p>Jede dieser Technologien haben ihre Vor- und Nachteile. In diesem Artikel möchte ich auf die Hauptunterschiede beider Technologien eingehen und bei der Entscheidung helfen, welche der beiden für den Einsatzzweck vom Vorteil ist.</p>
<h2>Windows Forms</h2>
<p>Windows Forms ist die ältere der beiden Technologien und ist die Basis für die meisten (älteren) Windows Applikationen. Die meisten Entwickler haben bereits umfängliche Erfahrungen mit dieser Technologie machen können. </p>
<p>Mit Windows Forms können Formulare in unterschiedlichen Größen und Formen von Fenstern erstellt werden und haben im Prinzip immer die selbe Anordnung für Container, Menüs und Struktur. Einen großen Spielraum für die Umsetzung von grafisch, anspruchsvollen Anforderungen hat man leider nicht, bzw. ist dies sehr schwierig mit Windows Forms umzusetzen, machbar ist es aber <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=L2Jsb2cvdHJhbnNwYXJlbnRlLWZvcm0taW5rbC1jbGljay1kcmFnLXR1dG9yaWFsLWMtbmV0" target=\"_blank\">dennoch</a>.</p>
<p>Windows Forms hat aber eine sehr gute Unterstützung für multilinguale Anwendungen. Wenn man also eine mehrsprachige Business-Applikation, bei der <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9CZW51dHplcmZyZXVuZGxpY2hrZWl0" target=\"_blank\">Usability</a> und Optik nicht so wichtig sind, erstellen möchte, könnte man Windows Forms einsetzen. Man sollte sich aber dennoch den folgenden WPF-Teil anschauen.</p>
<p>Die Navigation innerhalb einer Windows Forms-Anwendung ermöglicht ein Wechseln innerhalb verschiedener Formulare im Single <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9TaW5nbGVfRG9jdW1lbnRfSW50ZXJmYWNl" target=\"_blank\">Document Interface</a> Modus (SDI, der Benutzer sieht immer nur ein Fenster mit Informationen) und im <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9NdWx0aXBsZV9Eb2N1bWVudF9JbnRlcmZhY2U=" target=\"_blank\">Multi Document Interface</a> Modus (MDI, der Benutzer kann mehrere Formulare zeitgleich geöffnet haben). </p>
<p>Für ein entsprechendes UI Pattern um eine Trennung zwischen Code und Design zu erzielen, bekommt man in Windows Forms von Hause aus leider nichts mitgeliefert. Hier kann man sich aber das MVP (Model View Presenter) Pattern anschauen. Es gibt auch ein Framework namens <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5tdmNzaGFycC5vcmcv" target=\"_blank\">MVC#</a>, welches einem dabei unterstützt. Aber auch der MVVM Ansatz kann beispielsweise über das <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dhZi5jb2RlcGxleC5jb20v" target=\"_blank\">Windows Application Framework</a> (WAF) mittels <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dhZi5jb2RlcGxleC5jb20vcmVsZWFzZXMvdmlldy81MjU4Mw==" target=\"_blank\">Windows Forms Adapter</a>&#160;<a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dhZi5jb2RlcGxleC5jb20vd2lraXBhZ2U/dGl0bGU9TW9kZWwtVmlldy1WaWV3TW9kZWwlMjBQYXR0ZXJuJmFtcDtyZWZlcnJpbmdUaXRsZT1Eb2N1bWVudGF0aW9u" target=\"_blank\">nach implementiert</a> werden.</p>
<h2>WPF</h2>
<p>WPF steht für Windows Presentation Foundation und ist der direkte Nachfolger von Windows Forms. Der wichtigste Unterschied zwischen WPF und Windows Forms ist, dass in WPF eine klare Trennung zwischen Code und Design herrscht, sprich UI und Logik können getrennt voneinander entwickelt werden.</p>
<p>Der Code kann dabei mit allen .NET basierenden Sprachen entwickelt werden. Die Beschreibungssprache für die UI nennt sich XAML und steht für Extensible Application Markup Language. Wichtig dabei ist, dass bei der Entwicklung der UI, dem Designer keinerlei Grenzen gesetzt sind. <strong>Alles ist möglich</strong>!</p>
<p>WPF-Applikationen werden in drei verschiedenen Typen unterteilt, welche für verschiedene Aufgaben zuständig sind. <strong>Windows-Applikation</strong>, <strong>Navigations-Applikation</strong> und <strong>XAML-Browser-Applikation (XBAP)</strong>.</p>
<h3>Windows-Applikation</h3>
<p>Die Windows-Applikation ist Fensterbasierend und Windows Forms am ähnlichsten. Man erstellt SDI und MDI Applikationen und verschiedene Formulare können über einen Menü-Link direkt angewählt und geöffnet werden. Für Navigation oder Historien ist von Hause aus nichts implementiert. Man muss hier selbst Hand anlegen. </p>
<h3>Navigations-Applikation </h3>
<p>Unterstützt die Entwicklung von seitenbasierten Anwendungen und ist dem der Webentwicklung sehr ähnlich. Man verfügt über Vor- und Zurück Funktionalitäten und der automatisierten Speicherung der aufgerufenen Seiten in einem Journal. Im Gegensatz zur Webentwicklung, muss die Applikation kompiliert werden und läuft unter Windows, man hat aber <strong>vollen</strong> Zugriff auf die Ressourcen des Betriebssystems, wie das File-System und/oder der Registry.</p>
<h3>XAML-Browser-Applikation</h3>
<p>XBAPs verfügen, ähnlich einer Navigations-Applikation, über die Navigations- und Journalfunktionalitäten. Eine XBAP-Applikation kann auf einem Server oder einer Website veröffentlicht werden und werden bei der Instanziierung heruntergeladen. Mit einer XBAP hat man <strong>beschränken</strong> Zugriff auf die Ressourcen des Computers und man kann weder auf das Filesystem, noch auf die Registry zugreifen.</p>
<p>Die Wahl des entsprechenden Applikations-Typen hängt von verschiedenen Faktoren ab. Die beiden wichtigsten wären, <strong>User Experience</strong> und spezielle <strong>Anforderungen an die Applikation</strong>.</p>
<h4>User Experience </h4>
<p>Möchte man beispielsweise eine seitenbasierte Anwendung oder einen Wizard erstellen, sollte die Wahl auf den Navigations-Typen, oder je nach Anforderung (Zugriff) auf den XBAP-Typen fallen.</p>
<p>Für das Deployment macht sich eine XBAP Applikation recht komfortabel. Man veröffentlicht die Applikation auf einen Webserver und via Hyperlink kann die Applikation gestartet werden. Applikations-Update Mechanismen sind innerhalb einer XBAP-Applikation ebenfalls recht gut umgesetzt.</p>
<h4>Anforderungen</h4>
<p>Wenn die Anwendung es erfordert, dass man auf das Filesystem zugreifen, oder Einträge in der Registry verwalten muss, sollte man auf alle Fälle eine der beiden ersten Typen wählen.</p>
<p>Egal für welchen Typen man sich entscheidet. WPF unterstützt für alle dieser Typen Möglichkeiten für das <strong>Theming</strong> und <strong>Styling</strong>. Auch für Lokalisierung hat man entsprechenden Support, jedoch lange nicht diesen, wie man das von Windows Forms her gewohnt ist. Hier bedarf es eine etwas längere Entwicklungszeit.</p>
<h2>Interoperabilität</h2>
<p>In WPF fehlen leider auch einige Controls, wie beispielsweise die FileDialog-Klassen für <strong>OpenFileDialog</strong> und <strong>SaveFileDialog</strong>. Man ist aber in der Lage, die Windows Forms Assembly (System.Windows.Forms) in einer WPF Applikation einzubinden und die o.g. Klassen stehen einem danach zur Verfügung.</p>
<p>Es ist aber nicht ratsam diesen Weg zu gehen, da es hier zu Namenskonflikten mit Klassen in WPF kommen kann. <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy50aG9tYXNjbGF1ZGl1c2h1YmVyLmNvbS9ibG9nLzIwMDgvMDQvMTIvdmlzdGFzLXNhdmVmaWxlZGlhbG9nLWFuZC1vcGVuZmlsZWRpYWxvZy1pbi13cGYv" target=\"_blank\">Empfehlenswert</a> ist der Zugriff über den Microsoft.Win32 Namespace in der PresentationFramework Assembly.</p>
<p>Aber auch den ColorDialog, den FontDialog und anderes findet man vergebens in WPF. In der folgenden Übersicht <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzUwNTU5LmFzcHg=" target=\"_blank\">Windows Forms Controls und&#160; äquivalente WPF Controls</a> bekommt man eine Vergleichstabelle, welche Forms-Controls in WPF nicht vorhanden sind. Auch einige Properties unterscheiden sich, hier sollte man sich <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzUxNTY1LmFzcHg=" target=\"_blank\">Windows Forms and WPF Property Mapping</a> zum Vergleich anschauen. </p>
<p>Nun, wenn man sich für eine Technologie entschieden hat, kann man dennoch beide <strong>miteinander kombinieren</strong>. Das heißt, man hat entsprechende Controls, um die jeweils andere Technologie einzubinden. In Windows Forms ist das das <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3N5c3RlbS53aW5kb3dzLmZvcm1zLmludGVncmF0aW9uLmVsZW1lbnRob3N0LmFzcHg=" target=\"_blank\">ElementHost</a>-Control und in WPF das <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3N5c3RlbS53aW5kb3dzLmZvcm1zLmludGVncmF0aW9uLndpbmRvd3Nmb3Jtc2hvc3QuYXNweA==" target=\"_blank\">WindowsFormsHost</a>-Control. Einige HowTos zum Verwenden der Controls findet man direkt im MSDN (<a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzg4NzQwLmFzcHg=" target=\"_blank\">ElementHost</a>, <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzg4NzI5LmFzcHg=" target=\"_blank\">WindowsFormsHost</a>).</p>
<p>Also, welche Faktoren spielen bei der Wahl zwischen Windows Forms und WPF eine Rolle? Hier ein paar Fragen, um die richtige Technologie, oder den Technologietypen zu ermitteln.</p>
<ol>
<li>Wie stark sind die Fähigkeiten der Entwickler in der jeweiligen Technologie? </li>
<li>Können durch den Entwickler fehlenden Forms-Controls ersetzt werden?</li>
<li>Verfügt man über Grafik-, oder UI-Designer?</li>
<li>Welche Unterstützung von Styling und Theming wird in der Applikation erwartet? </li>
<li>Soll die Applikation individuell gestaltet sein?</li>
<li>Benötigt die Applikation volle Rechte auf das Betriebssystem? </li>
<li>Wird großer Wert auf eine Seitennavigation ähnlich einer Website gelegt?</li>
<li>Muss die Applikation mehrsprachig sein? </li>
</ol>
<h2>Fazit</h2>
<p>Mit WPF ist man in der Lage, grafisch hochwertige Applikationen zu entwickeln. Es fehlen zwar einige Controls, jedoch ist man in der Lage einen passenden Ersatz zu finden, bzw. in der Lage diesen zu entwickeln. Weiterhin kann durch die Trennung von UI und Logik, die Applikation in einem Team aus Developer und Designer entwickelt werden. Durch die Einteilung in verschiedenen Typen, kann man den richtigen Typen für die jeweilige Aufgabe finden und erhält Unterstützung für nahezu jede Anforderung vom Framework.</p>
<p>Ich hoffe dieser kleine Überblick von Vor- und Nachteilen der beiden GUI Technologien hilft dabei, sich für die richtige Technologie zu entscheiden. </p>
<p>Viel Spaß beim entwickeln : )</p>
<hr /><p style="float:right; font-size:0.9em;">Dieser Beitrag stammt von <a href="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iaWdnbGUuZGU=">Mario Priebe</a>.</p> <img src="http://www.biggle.de/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6913" width="1" height="1" style="display: none;" /><h2  class="related_post_title">Ähnliche Beiträge</h2><ul class="related_post"><li>24. Juli 2011 -- <a href="http://www.biggle.de/blog/databindings-debuggen-wpf" title="DataBindings debuggen &#8211; WPF">DataBindings debuggen &#8211; WPF</a></li><li>23. Juli 2011 -- <a href="http://www.biggle.de/blog/gemeinsamen-validation-style-fr-controls-wpf" title="Gemeinsamen Validation Style f&uuml;r Controls &#8211; WPF">Gemeinsamen Validation Style f&uuml;r Controls &#8211; WPF</a></li><li>25. Juni 2011 -- <a href="http://www.biggle.de/blog/enumeration-in-einer-combobox-darstellen-wpf-quicky" title="Enumeration in einer ComboBox darstellen &#8211; WPF Quicky">Enumeration in einer ComboBox darstellen &#8211; WPF Quicky</a></li><li>15. März 2011 -- <a href="http://www.biggle.de/blog/cookies-in-einer-wpf-applikation" title="Cookies in einer WPF Applikation">Cookies in einer WPF Applikation</a></li><li>6. März 2011 -- <a href="http://www.biggle.de/blog/multibinding-die-zweite" title="MultiBinding die Zweite">MultiBinding die Zweite</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.biggle.de/blog/wpf-und-windows-forms-die-wahl-zwischen-den-windows-gui-technologien/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

