<?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>Orbifold &#187; WPF</title>
	<atom:link href="http://visualizationtools.net/default/category/software/net/wpf/feed/" rel="self" type="application/rss+xml" />
	<link>http://visualizationtools.net/default</link>
	<description>Think. Visualize. Understand.</description>
	<lastBuildDate>Wed, 18 Jan 2012 09:08:00 +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>Updated goodies</title>
		<link>http://visualizationtools.net/default/updated-goodies/</link>
		<comments>http://visualizationtools.net/default/updated-goodies/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 11:21:57 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://visualizationtools.net/default/?p=4074</guid>
		<description><![CDATA[Updated WPF goodies like the color picker and ruler. A refresh for VS2010.]]></description>
			<content:encoded><![CDATA[<p>Besides a lot of work on this new site I also refreshed/improved various goodies which you can find<a title="The Lab" href="/default/the-lab/"> in the lab</a>:</p>
<ul>
<li>the <a title="The WPF Ruler" href="/default/the-lab/wpf-ruler/" target="_self">WPF ruler</a> is updated to VS2010 and the contribution of Raf Lenfers was added</li>
<li>the<a title="WPF color picker" href="/default/the-lab/color-picker/" target="_self"> color picker</a> is also up to date</li>
<li>the <a title="Special WPF tabs" href="/default/special-tabs/" target="_self">special WPF tabs</a></li>
</ul>
<p>While<a title="Telerik's WPF color picker" href="http://www.telerik.com/products/wpf/colorpicker.aspx" target="_blank"> Telerik&#8217;s commercial color-picker is way better</a> than ours you might enjoy the simplicity and the fact that it&#8217;s free <img src='http://visualizationtools.net/default/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The ruler is another story, I don&#8217;t think many companies offer it and it&#8217;s in fact not so easy to implement.</p>
<p>Anyway, enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/updated-goodies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>L2, iSee, Silverlight Property Grid and S#</title>
		<link>http://visualizationtools.net/default/l2-isee-silverlight-property-grid-and-s/</link>
		<comments>http://visualizationtools.net/default/l2-isee-silverlight-property-grid-and-s/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 19:38:08 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[Diagramming]]></category>
		<category><![CDATA[Property Grid]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2438</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/default/wp-content/uploads/L2FirstShot.PNG"><img class="alignleft size-large wp-image-2410" title="L2 Screenshot" src="http://www.orbifold.net/default/wp-content/uploads/L2FirstShot-1024x905.PNG" alt="L2 Screenshot" width="352" height="310" /></a></p>
<p><span style="color: #666699; font-size: 30pt;">L2 </span>G2 is our biggest product and has been used by companies to create &#8216;big&#8217; applications in diverse markets. Because it is based on Unity for dependency injection and because Microsoft waited quite a while to release a Silverlight analog, it took a while to create a Silverlight analog of G2. We baptised it &#8216;L2&#8242;. Of course we could have used alternative injection libraries (many have popped up this year in fact) but we wanted to stay as parallel as possible to G2 in order to enable our customers to move with ease between G2 and L2. So, it&#8217;s there and you can<a title="L2 demo" href="/L2/demo" target="_self"> test it online here</a>. It&#8217;s still in beta and we welcome any feedback. You can also download the code and the core library, see<a title="L2 product page" href="/L2" target="_self"> the L2 product page</a> for more.</p>
<p><span style="color: #666699; font-size: 30pt;">S#</span>scripting library. This little jewel allows you in effect to alter an application at runtime much like macro&#8217;s. In fact, you can compare it to VBA in office except that our S# library will work in any .Net context (<strong>including XNA, Silverlight, WPF and WinForms</strong>). I will talk about S# more later this week in another blog posting and Denis Vuyka will also publish soon more information regarding S# and, another kid on the stage; <strong>Processing#</strong>.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/isee3.PNG"><img class="alignright size-medium wp-image-2425" title="isee 3" src="http://www.orbifold.net/default/wp-content/uploads/isee3-300x292.PNG" alt="isee 3" width="201" height="196" /></a><span style="color: #666699; font-size: 30pt;">iSee!</span> In addition to this we have been experimenting with novel approaches to diagramming and how to take full advantge of Silverlight and WPF animation capabilities. This lab project which has been now already for one year in the back of our minds is ready to be tested as well. Head over to <a title="iSee demo" href="/iSee/demo" target="_self">our iSee demo</a> and let us know what you think. iSee is all about animating visual elements and you can apply it anything which inherits from the FrameworkElement base class, that is&#8230;as good as anything you&#8217;ll find in WPF and Silverlight. Furthermore, iSee is really easy to use. It boast a<strong> fluent API</strong> and a very intuitive series of methods. The fluent things means you can chain actions ad infinitum.</p>
<p>For example, the following line of code:</p>
<pre>Attach(image, true).Scale(3, 3, Duration.Automatic)
.Move(new Point(145,150)).Scale(0.3, 0.3, Duration.Automatic).Play();</pre>
<p>will attach a given image to a canvas, scale it with a factor of three, subsequently move the image to another location and un-scale it to the original proportions. Easy! It would take a substantial amount of work to code this in C# or to create an equivalen storyboard in Expression Blend.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/isee4.PNG"><img class="size-medium wp-image-2426 alignleft" title="isee 4" src="http://www.orbifold.net/default/wp-content/uploads/isee4-300x261.PNG" alt="isee 4" width="237" height="206" /></a>We also wanted to enable certain diagramming scenario&#8217;s and have integrated diverse methods which allow you to create diagrams, mindmaps and data visualization with just a few methods. In the demo you will see a few examples of this.</p>
<p><span style="color: #666699; font-size: 30pt;">SPG</span>Last but not least, I&#8217;m also proud to announce our new Silverlight property grid. Much like L2 is an analog of G2, so is the Silverlight property grid (we call it &#8216;SPG&#8217;) an analof of our WPF property grid (&#8216;WPG&#8217;). You can <a title="SPF on Denis' blog" href="http://denisvuyka.wordpress.com/2009/10/31/silverlight-3-propertygrid-development-progress/" target="_blank">read about it on Denis&#8217; blog</a> and watch this space for more in the next few weeks.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/spg01.png"><img class="alignright size-medium wp-image-2445" title="SPG" src="http://www.orbifold.net/default/wp-content/uploads/spg01-268x300.png" alt="SPG" width="189" height="212" /></a>All these products represent a considerable amount of work (testing, demo versions, docs, samples&#8230;) and we are still in the process of packaging them. Also, for prices and official releases you&#8217;ll have to wait a bit, we&#8217;re working on it. Meanwhile let us know what you think. The Silverlight market is booming these days and there are excellent products around, still we think that our set of products fill a gap and represent a unique spectrum of solutions you&#8217;ll not find elsewhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/l2-isee-silverlight-property-grid-and-s/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beyond mapping: highlighting one of our G2 customization projects</title>
		<link>http://visualizationtools.net/default/beyond-mapping-highlighting-one-of-our-g2-customization-projects/</link>
		<comments>http://visualizationtools.net/default/beyond-mapping-highlighting-one-of-our-g2-customization-projects/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 05:18:35 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[WPF]]></category>
		<category><![CDATA[G2]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2386</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/default/wp-content/uploads/CWISModsSystem.png"><img class="size-full wp-image-2391 alignleft" title="CWIS Diagramming System" src="http://www.orbifold.net/default/wp-content/uploads/CWISModsSystem.png" alt="CWIS Diagramming System" width="372" height="311" /></a>Today I&#8217;m on my way to <a title="See in Google Maps" href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=nl&amp;geocode=&amp;q=Lausanne,+Zwitserland&amp;sll=37.0625,-95.677068&amp;sspn=51.887315,114.169922&amp;ie=UTF8&amp;z=12&amp;iwloc=A" target="_blank">Lausanne </a>(Switserland) visiting a customer with whom I&#8217;ve been working during the past half year on an information system which combines multiple views and data sources (geographical, data backends, diagrams&#8230;). The application is <strong>intriguing </strong>both in its scope and in the technological ideas it boasts. In fact, it demonstrates <strong>very innovative approaches</strong> to display much information and many widgets in a constraint amount ofÂ  UI. The purpose of the whole project is to have a combined water information (inventarizaton) system which allows one to gain insights via an integrated system model approach, combining <a title="Geographic information system" href="http://en.wikipedia.org/wiki/Geographic_information_system" target="_blank">GIS</a>, intelligent diagrams, custom reports and indicators. Let me highlight a few of the more salient features:</p>
<ul>
<li>the application is <strong>fully WPF</strong> and uses the <strong>composite application block</strong> to combine multiple modules</li>
<li>the <strong>customizable reporting engine</strong> is quite unique and allows one to create reports at runtime by simple dragdrop. The fact that it&#8217;s home-made is astonishing.</li>
<li>the <strong>integrated diagram view is based on our own G2 library</strong> and allows a user to create or visualize relationships between hostorical events, geographic data and evidence data</li>
<li>the docking environment contains <strong>a wild amount of sliding panels and windows</strong> which at first can be daunting to understand and manage but in the end feel very natural and speed up the access to the many views of functions of the application</li>
<li>the backend is based on WCF and the data access layer is generated via LLBLGen. Did you know <a title="Netron in LLBLGen" href="http://www.llblgen.com/pages/about.aspx" target="_blank">LLBLGen uses Netron</a> for its diagramming needs?</li>
<li>the <strong>indicator module</strong> is just like the reporting moduleÂ  home-made stuff. Both modules would for sure be very useful outside their current application boundaries and it&#8217;s somewhat sad to see so much great stuff hidden in a niche application while it could go way beyond it. Who knows how much great WPF stuff is out there in internal enterprise applications?</li>
</ul>
<p>While the whole project is related to a particular subject (water, floods, lakes, dams, irrigation, rivers, rain&#8230;) it would work with many other subjects; production chains, ERP systems, food production systems etc. The diagramming part in particular would work well outside its current domain. The many customizations of <a title="About G2" href="/G2" target="_blank">G2 </a>in function of this project has turned the core into a data visualization control while retaining the many features it already had. It shows in effect <strong>how G2 can be adapted with ease to embrace all sorts of project requirements</strong>.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/CwisModsArt.png"><img class="size-full wp-image-2388 alignright" title="Cwis report" src="http://www.orbifold.net/default/wp-content/uploads/CwisModsArt.png" alt="Cwis report" width="372" height="305" /></a></p>
<p>It&#8217;s sometimes <strong>tough not to blog about the projects we work on</strong> because often customers want to keep their own developments hidden (many reasons are playing here&#8230;). I wish I could tell you about how our diagramming stuff is used together with <a title="The Surface" href="http://www.microsoft.com/surface/" target="_blank">Microsoft Surface</a> to boast a compelling experience, how it&#8217;s used <strong>inside Microsoft Dynamics to visualize CRM</strong> relationships, how it&#8217;s <strong>used in Sharepoint </strong>to create an holistic view on information, how&#8230;but sorry I&#8217;m not allowed <img src='http://visualizationtools.net/default/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  So, I&#8217;m glad that (for once) I was allowed to say a few words about this project. Go and have a look at<a title="Beyond mapping" href="http://www.b-map.ch/?page_id=6" target="_blank"> the project&#8217;s website</a> where additional info can be found.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/CWISModsGeo.png"><img class="alignnone size-full wp-image-2389" title="CWIS Geo module" src="http://www.orbifold.net/default/wp-content/uploads/CWISModsGeo.png" alt="CWIS Geo module" width="387" height="338" /></a><a href="http://www.orbifold.net/default/wp-content/uploads/CWISModsMenu.png"><img class="alignnone size-full wp-image-2390" title="CWIS Intelligent Menu" src="http://www.orbifold.net/default/wp-content/uploads/CWISModsMenu.png" alt="CWIS Intelligent Menu" width="118" height="336" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/beyond-mapping-highlighting-one-of-our-g2-customization-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A WPF Color Picker</title>
		<link>http://visualizationtools.net/default/a-wpf-color-picker/</link>
		<comments>http://visualizationtools.net/default/a-wpf-color-picker/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 20:28:56 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2380</guid>
		<description><![CDATA[A templated color picker for WPF. Pretty much the prototypical example of a custom WPF control with databinding, templating, routed events, dependency properties and so on.]]></description>
			<content:encoded><![CDATA[<p><img style="display:inline;" title="ColorPicker Sample" src="/oldsite/wp-content/uploads/ColorPickerSample.png" alt="ColorPicker Sample" width="476" height="566" /></p>
<p>There are diverse color pickers on the net (see e.g. <a title="WPF custom control color picker" href="http://msdn.microsoft.com/en-us/library/ms771620.aspx" target="_blank">the framework sample</a>, a <a title="A color picker with preview" href="http://www.codeproject.com/KB/WPF/WPFColorPicker.aspx" target="_blank">more elaborate sample on CodeProject</a>, <a title="Telerik's one" href="http://www.telerik.com/products/wpf/colorpicker.aspx" target="_blank">Telerik&#8217;s commercial version</a>&#8230;) but none of them were really what we were looking for, so we set aside a few hours to cook something. The color picker we were looking for had to be flexible and templated, support both solid colors and gradients. The screenshot next shows some of the templates we assembled.</p>
<p>This custom WPF control is a standard example of databinding, control templating, routed events, dependency properties and XAML fun. Looking at the code of commercial controls we wonder why they make things so complicated sometimes&#8230;</p>
<div class="bluebox"><a href="/downloads/stuff/Orbifold.ColorPicker.zip">Download the color picker here.</a></div>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/a-wpf-color-picker/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>G2&#039;s interface hierarchy</title>
		<link>http://visualizationtools.net/default/g2s-interface-hierarchy/</link>
		<comments>http://visualizationtools.net/default/g2s-interface-hierarchy/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 07:19:29 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[WPF]]></category>
		<category><![CDATA[Diagramming]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2377</guid>
		<description><![CDATA[Some (self-indulgent) overview of G2's interface hierarchy is available.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/default/wp-content/uploads/TheRootOfItAll.png"><img class="size-medium wp-image-2370 alignleft" title="G2 interface hierarchy" src="http://www.orbifold.net/default/wp-content/uploads/TheRootOfItAll-300x188.png" alt="G2 interface hierarchy" width="300" height="188" /></a>A company shouldn&#8217;t give away its trade and manufacturing secrets but there you go; you can get <a title="G2 interface hierarchy" href="http://www.orbifold.net/default/?page_id=2369" target="_self">an overview of G2&#8242;s interface hierarchy</a>. While this might seem like  low-level technical blabla it&#8217;s actually the result of ten years of research and evolution to organize an high-end diagramming control! The interface hierarchy of any software sits at the core of its architecture. In the same way that any person can handle any radio on the basis of some simple interface knowledge (though every actual radio type is different, everybody knows that the &#8216;On&#8217; button means switching the radio on) so one should be able to understand any software on the basis of its interfaces. Well, mostly true since a lot of languages cannot handle interfaces (nope, I didn&#8217;t mention JavaScript&#8230;). I let this knowledge of G2&#8242;s interfaces out in the wide open blue for two reasons: for our customers to be able to get around in the sometimes daunting complexity of G2 and for other diagramming freaks (vendors?) to rely on some wisdom which simply works well (a wide diversity of custom applications on top of G2 and hundreds of unit tests cannot be wrong). One important things as well, these interfaces actually articulate the extensibility of G2 since all concrete interface implementations are instantiated via the Unity framework (dependency injections). It means that any of G2&#8242;s elements described in this interface hierarchy can be replaced with custom (customer) implementations and thus extend the application scope of G2 considerably. In fact, besides these interfaces there is also a whole MVC architecture and other extensible elements (like the graph layout machinery) <strong>which makes G2 the best and most refined WPF diagramming framework around</strong>.</p>
<p>As <a title="G2 v2.0" href="http://www.orbifold.net/default/?p=2305" target="_self">V2.0 of G2 is solidifying</a>, we are much investing in the creation of diverse samples and (intelligent, ie. non-compiled API)Â  documentation. See also these articles in this context:</p>
<ul>
<li><a title="G2 terminology" href="http://www.orbifold.net/default/?page_id=2019" target="_self">G2: some terminology</a></li>
<li><a title="G2 styling and templating" href="http://www.orbifold.net/default/?page_id=2232" target="_self">G2: styling and templating</a></li>
<li><a title="G2 the layout algorithms" href="http://www.orbifold.net/default/?page_id=2093" target="_self">G2: how to use the layout algorithms</a></li>
<li><a title="G2: getting started" href="http://www.orbifold.net/default/?page_id=2014" target="_self">G2: getting started</a></li>
</ul>
<p><em>PS: sorry for the self-indulgent tone, but one should now and then feel satisfied about years of work <img src='http://visualizationtools.net/default/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/g2s-interface-hierarchy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expression Blend&#039;s Sketchflow diagrams with G2</title>
		<link>http://visualizationtools.net/default/expression-blends-sketchflow-diagrams-with-g2/</link>
		<comments>http://visualizationtools.net/default/expression-blends-sketchflow-diagrams-with-g2/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 12:12:05 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[Diverse]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Diagramming]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2338</guid>
		<description><![CDATA[A short sample demonstrating that it's a piece of cake to mimic the latest Expression Blend diagrams (part of Sketchflow) in G2.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/default/wp-content/uploads/BlendSketchflow.png"><img class="size-thumbnail wp-image-2339 alignleft" title="Expression Blend 3 with Sketchflow" src="http://www.orbifold.net/default/wp-content/uploads/BlendSketchflow-150x150.png" alt="Expression Blend 3 with Sketchflow" width="150" height="150" /></a>One of the aims of G2 is to provide a framework for any type of intelligent diagram (see also <a href="/default/?p=1764">the database diagram sample</a>, <a href="/default/?p=1773">the mindmapping sample</a>, <a href="/default/?p=1735">the class diagram sample</a>&#8230;). The &#8216;intelligent&#8217; refers here to highly interactive diagrams with databinding, animations and adorners in constrast with &#8216;data visualization&#8217; diagrams where the focus is more on getting a bird&#8217;s eye view (many nodes and edges) on the data rather than seeing all the details to the lowest level.</p>
<p>In the past week I had a look at Expression Blend 3 and was impressed with the amount of new features both for WPF and Silverlight. The application is a delight! I&#8217;m not so sure that <a title="Expression Sketchflow" href="http://www.microsoft.com/expression/products/Sketchflow_Overview.aspx" target="_blank">Sketchflow </a>(see screenshot on the left in case you have no idea what it&#8217;s all about) will replace paper and pencil but it does offer a new approach which might suit some workflows in companies. In any case, I was seduced by the diagrammatic representation of the screen-flow which allows you to visualize/change and beautify (screen transitions etc.) the flow of the various WPF/Silverlight forms you hook up together. Obviously it came to my mind to mimic it in G2 and&#8230;presto, I had it done in the course of an evening. The most difficult part in the process was actually not the diagramming bit but the definition of the shifting tray which shows up when one hovers over the nodes. The situation is very common and with customers we always have this kind of discussion: the gizmo&#8217;s and bells should be shown at all time or is usability increased by popups, sliding panels and expanding trays? Expression Blend is in this context different from other Microsoft application where usually the buttons and gears are fixed (cfr. class designer, SQL designer, DSL designers etc.). Well, this is not a bad things since Expression is aimed at designers and people who are looking for cool effects. In fact, WPF and Silverlight offer much effcts and sparkles which are hardly used in line of business applications nowadays. Personally, I continue to be amazed how much one can achieve with WPF (and G2) without much programming and this little sketchflow proof of concept on the basis of G2 was huge fun.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/G2SketchflowSample.png"><img src="http://www.orbifold.net/default/wp-content/uploads/G2SketchflowSample.png" alt="G2 Sketchflow Sample" title="G2 Sketchflow Sample" width="612" height="518" class="alignnone size-full wp-image-2360" /></a><br />
<span id="more-2338"></span><br />
Below is a short sequence demonstrating the sample. Sorry for not delivering the sample code, <a title="G2" href="/G2">G2 is a commercial component </a>(see however the control template below for an idea of what it involves). If you buy G2 the sample comes with the box together with many other (and ever growing set of) samples.</p>
<p><object id="movie" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="576" height="452" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="bgcolor" value="#4A4A4A" /><param name="allowScriptAccess" value="always" /><param name="src" value="/Default/wp-content/uploads/SketchflowWithG2.swf" /><param name="name" value="movie" /><embed id="movie" type="application/x-shockwave-flash" width="576" height="452" src="/Default/wp-content/uploads/SketchflowWithG2.swf" name="movie" allowscriptaccess="always" bgcolor="#4A4A4A" quality="high"></embed></object></p>
<div class="wp_codebox">
<table>
<tr id="p23381">
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
</pre>
</td>
<td class="code" id="p2338code1">
<pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;style</span> <span style="color: #000066;">TargetType</span>=<span style="color: #ff0000;">&quot;{x:Type Sketchflow:SketchFlowShape}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;MinWidth&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;130&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;MinHeight&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;25&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Background&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;Blue&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Foreground&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;White&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;SnapsToDevicePixels&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;True&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Template&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/setter<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;setter</span> .Value<span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;controltemplate</span> <span style="color: #000066;">TargetType</span>=<span style="color: #ff0000;">&quot;{x:Type Sketchflow:SketchFlowShape}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/controltemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;controltemplate</span> .Resources<span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;storyboard</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;SBExpand&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;doubleanimationusingkeyframes</span> <span style="color: #000066;">BeginTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Storyboard.TargetName</span>=<span style="color: #ff0000;">&quot;tray&quot;</span> <span style="color: #000066;">Storyboard.TargetProperty</span>=<span style="color: #ff0000;">&quot;(UIElement.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.Y)&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:01&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/doubleanimationusingkeyframes<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;doubleanimationusingkeyframes</span> <span style="color: #000066;">BeginTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Storyboard.TargetName</span>=<span style="color: #ff0000;">&quot;tray&quot;</span> <span style="color: #000066;">Storyboard.TargetProperty</span>=<span style="color: #ff0000;">&quot;(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">KeySpline</span>=<span style="color: #ff0000;">&quot;0,0,0.625,1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:01&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;20&quot;</span> <span style="color: #000066;">KeySpline</span>=<span style="color: #ff0000;">&quot;0.11,0.99,1,1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/doubleanimationusingkeyframes<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/storyboard<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;storyboard</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;SBCollapse&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;doubleanimationusingkeyframes</span> <span style="color: #000066;">BeginTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Storyboard.TargetName</span>=<span style="color: #ff0000;">&quot;tray&quot;</span> <span style="color: #000066;">Storyboard.TargetProperty</span>=<span style="color: #ff0000;">&quot;(UIElement.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.Y)&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:01&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/doubleanimationusingkeyframes<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;doubleanimationusingkeyframes</span> <span style="color: #000066;">BeginTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Storyboard.TargetName</span>=<span style="color: #ff0000;">&quot;tray&quot;</span> <span style="color: #000066;">Storyboard.TargetProperty</span>=<span style="color: #ff0000;">&quot;(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:00&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;20&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;splinedoublekeyframe</span> <span style="color: #000066;">KeyTime</span>=<span style="color: #ff0000;">&quot;00:00:01&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">KeySpline</span>=<span style="color: #ff0000;">&quot;0.08,1,1,1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/doubleanimationusingkeyframes<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/storyboard<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;objectdataprovider</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;Tags&quot;</span> <span style="color: #000066;">ObjectType</span>=<span style="color: #ff0000;">&quot;{x:Type Sketchflow:Stuff}&quot;</span> <span style="color: #000066;">MethodName</span>=<span style="color: #ff0000;">&quot;get_VisualTags&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;style</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;TagButton&quot;</span> <span style="color: #000066;">TargetType</span>=<span style="color: #ff0000;">&quot;{x:Type Button}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Background&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;Transparent&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Button.Command&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;{x:Static Sketchflow:Window1.ChangeBackgroundCommand}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Button.CommandParameter&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;{Binding}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Button.Cursor&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;Hand&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Template&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/setter<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;setter</span> .Value<span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;controltemplate</span> <span style="color: #000066;">TargetType</span>=<span style="color: #ff0000;">&quot;{x:Type Button}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;stackpanel</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;line&quot;</span> <span style="color: #000066;">Orientation</span>=<span style="color: #ff0000;">&quot;Horizontal&quot;</span> <span style="color: #000066;">Background</span>=<span style="color: #ff0000;">&quot;{TemplateBinding Background}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rectangle</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;5&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;5&quot;</span> <span style="color: #000066;">Fill</span>=<span style="color: #ff0000;">&quot;{Binding Color}&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;5,3,0,0&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;textblock</span> <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;{Binding Title}&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Stretch&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;7,0,0,0&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Stretch&quot;</span> <span style="color: #000066;">SnapsToDevicePixels</span>=<span style="color: #ff0000;">&quot;{TemplateBinding SnapsToDevicePixels}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/stackpanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/controltemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;controltemplate</span> .Triggers<span style="color: #000000; font-weight: bold;">&gt;</span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;trigger</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;IsMouseOver&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;True&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Background&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;Silver&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/trigger<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/controltemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/setter<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/style<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/controltemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/setter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;FontSize&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Foreground&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;White&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;datatemplate</span> <span style="color: #000066;">x:Key</span>=<span style="color: #ff0000;">&quot;TagTemplate&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;button</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;-2,0,0,0&quot;</span> <span style="color: #000066;">Style</span>=<span style="color: #ff0000;">&quot;{DynamicResource TagButton}&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;79.5&quot;</span> <span style="color: #000066;">Content</span>=<span style="color: #ff0000;">&quot;{Binding }&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/datatemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;grid</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;PART_maingrid&quot;</span> <span style="color: #000066;">DataContext</span>=<span style="color: #ff0000;">&quot;{Binding RelativeSource={RelativeSource TemplatedParent}}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;border</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;tray&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;8,0,0,1.046&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Bottom&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;20&quot;</span> <span style="color: #000066;">BorderBrush</span>=<span style="color: #ff0000;">&quot;{TemplateBinding Background}&quot;</span> <span style="color: #000066;">BorderThickness</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">CornerRadius</span>=<span style="color: #ff0000;">&quot;0,0,5,5&quot;</span> <span style="color: #000066;">Background</span>=<span style="color: #ff0000;">&quot;#FF333333&quot;</span> <span style="color: #000066;">RenderTransformOrigin</span>=<span style="color: #ff0000;">&quot;0.5,0&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;83.737&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/border<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;border</span> .RenderTransform<span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;transformgroup<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;scaletransform</span> <span style="color: #000066;">ScaleX</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">ScaleY</span>=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;skewtransform</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rotatetransform</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;translatetransform</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/transformgroup<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/border<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/grid<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/grid<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;grid</span> .RowDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rowdefinition</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;grid</span> .ColumnDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;columndefinition</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;columndefinition</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span> <span style="color: #000066;">MinWidth</span>=<span style="color: #ff0000;">&quot;17.053&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/grid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;stackpanel</span> <span style="color: #000066;">Orientation</span>=<span style="color: #ff0000;">&quot;Horizontal&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;0,3,0,0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;popup</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;TagPop&quot;</span> <span style="color: #000066;">AllowsTransparency</span>=<span style="color: #ff0000;">&quot;True&quot;</span>   <span style="color: #000066;">PopupAnimation</span>=<span style="color: #ff0000;">&quot;Slide&quot;</span>       <span style="color: #000066;">HorizontalOffset</span>=<span style="color: #ff0000;">&quot;0&quot;</span>  <span style="color: #000066;">VerticalOffset</span>=<span style="color: #ff0000;">&quot;-112&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;border</span> <span style="color: #000066;">Background</span>=<span style="color: #ff0000;">&quot;#FF333333&quot;</span> <span style="color: #000066;">CornerRadius</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;84&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;111&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;listbox</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;TagList&quot;</span> <span style="color: #000066;">ItemsSource</span>=<span style="color: #ff0000;">&quot;{Binding Source={StaticResource Tags}}&quot;</span>  <span style="color: #000066;">SelectedIndex</span>=<span style="color: #ff0000;">&quot;-1&quot;</span> <span style="color: #000066;">ItemTemplate</span>=<span style="color: #ff0000;">&quot;{DynamicResource TagTemplate}&quot;</span> <span style="color: #000066;">Background</span>=<span style="color: #ff0000;">&quot;{x:Null}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/border<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/popup<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #808080; font-style: italic;">&lt;!--&lt;image Source=&quot;Images/ConnectExistingScreen.png&quot; Width=&quot;12&quot; Height=&quot;12&quot; HorizontalAlignment=&quot;Left&quot; VerticalAlignment=&quot;Center&quot; Margin=&quot;5,0,0,0&quot;/&gt;--&gt;</span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;button</span> <span style="color: #000066;">Style</span>=<span style="color: #ff0000;">&quot;{StaticResource ConnectNewScreen}&quot;</span> <span style="color: #000066;">DataContext</span>=<span style="color: #ff0000;">&quot;{Binding RelativeSource={RelativeSource TemplatedParent}}&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;5,0,0,0&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">Source</span>=<span style="color: #ff0000;">&quot;Images/ConnectNewScreen.png&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;5,0,0,0&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;image</span> <span style="color: #000066;">Source</span>=<span style="color: #ff0000;">&quot;Images/InsertComponentScreen.png&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span> <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;5,0,0,0&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/stackpanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #808080; font-style: italic;">&lt;!--&lt;image Source=&quot;Images/ChangeVisualTag.png&quot; Width=&quot;Auto&quot; Height=&quot;12&quot; Grid.Column=&quot;1&quot; Margin=&quot;0.872,3,5,0&quot; HorizontalAlignment=&quot;Stretch&quot;/&gt;--&gt;</span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;button</span> <span style="color: #000066;">Style</span>=<span style="color: #ff0000;">&quot;{StaticResource ChangeVisualTag}&quot;</span> <span style="color: #000066;">DataContext</span>=<span style="color: #ff0000;">&quot;{Binding RelativeSource={RelativeSource TemplatedParent}}&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;Auto&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;12&quot;</span> <span style="color: #000066;">Grid.Column</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;0.872,3,5,0&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Stretch&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
&nbsp;
&nbsp;
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rectangle</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;PART_rec&quot;</span> <span style="color: #000066;">RadiusX</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">RadiusY</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">Stroke</span>=<span style="color: #ff0000;">&quot;{x:Null}&quot;</span>  <span style="color: #000066;">StrokeThickness</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;{TemplateBinding Width}&quot;</span> <span style="color: #000066;">Fill</span>=<span style="color: #ff0000;">&quot;{TemplateBinding Background}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;textblock</span> <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;{TemplateBinding ContentControl.Content}&quot;</span>  <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span></span>
<span style="color: #009900;">                         <span style="color: #000066;">VerticalAlignment</span>=<span style="color: #ff0000;">&quot;Center&quot;</span> <span style="color: #000066;">Foreground</span>=<span style="color: #ff0000;">&quot;White&quot;</span> <span style="color: #000066;">FontWeight</span>=<span style="color: #ff0000;">&quot;Bold&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #808080; font-style: italic;">&lt;!-- PART_DragThumb --&gt;</span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> :TranslationThumb <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;PART_DragThumb&quot;</span> <span style="color: #000066;">Cursor</span>=<span style="color: #ff0000;">&quot;SizeAll&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #808080; font-style: italic;">&lt;!-- PART_ConnectorDecorator --&gt;</span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> :ConnectorDecorator <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;PART_ConnectorDecorator&quot;</span></span>
<span style="color: #009900;">                       <span style="color: #000066;">Visibility</span>=<span style="color: #ff0000;">&quot;Hidden&quot;</span></span>
<span style="color: #009900;">                       <span style="color: #000066;">Template</span>=<span style="color: #ff0000;">&quot;{StaticResource ConnectorDecoratorTemplate}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rectangle</span> <span style="color: #000066;">x:Name</span>=<span style="color: #ff0000;">&quot;Arrow&quot;</span> <span style="color: #000066;">Visibility</span>=<span style="color: #ff0000;">&quot;{TemplateBinding ShowArrow, Converter={StaticResource BoolToVisibilityConverter} }&quot;</span>  <span style="color: #000066;">Stroke</span>=<span style="color: #ff0000;">&quot;{x:Null}&quot;</span> <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;21&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;21&quot;</span> <span style="color: #000066;">Fill</span>=<span style="color: #ff0000;">&quot;{DynamicResource LitlArrow}&quot;</span> <span style="color: #000066;">Margin</span>=<span style="color: #ff0000;">&quot;-7,0,0,14&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;controltemplate</span> .Triggers<span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;datatrigger</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;True&quot;</span> <span style="color: #000066;">Binding</span>=<span style="color: #ff0000;">&quot;{Binding RelativeSource={RelativeSource Self},Path=IsSelected}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">TargetName</span>=<span style="color: #ff0000;">&quot;PART_rec&quot;</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Stroke&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;#83EEEEEE&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;BitmapEffect&quot;</span> <span style="color: #000066;">TargetName</span>=<span style="color: #ff0000;">&quot;PART_rec&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/setter<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;setter</span> .Value<span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;outerglowbitmapeffect</span> <span style="color: #000066;">GlowColor</span>=<span style="color: #ff0000;">&quot;White&quot;</span> <span style="color: #000066;">GlowSize</span>=<span style="color: #ff0000;">&quot;7&quot;</span> <span style="color: #000066;">Noise</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">Opacity</span>=<span style="color: #ff0000;">&quot;.41&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/setter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/datatrigger<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;trigger</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;IsMouseOver&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #808080; font-style: italic;">&lt;!--&lt;setter TargetName=&quot;PART_ConnectorDecorator&quot; Property=&quot;Visibility&quot; Value=&quot;Visible&quot;/&gt;--&gt;</span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">TargetName</span>=<span style="color: #ff0000;">&quot;PART_rec&quot;</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Stroke&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;#83EEEEEE&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/trigger<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;trigger</span> .ExitActions<span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;beginstoryboard</span> <span style="color: #000066;">Storyboard</span>=<span style="color: #ff0000;">&quot;{StaticResource SBCollapse}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/trigger<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;trigger</span> .EnterActions<span style="color: #000000; font-weight: bold;">&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;beginstoryboard</span> <span style="color: #000066;">Storyboard</span>=<span style="color: #ff0000;">&quot;{StaticResource SBExpand}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/trigger<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;datatrigger</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;True&quot;</span> <span style="color: #000066;">Binding</span>=<span style="color: #ff0000;">&quot;{Binding RelativeSource={RelativeSource Self},Path=IsDragConnectionOver}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;setter</span> <span style="color: #000066;">TargetName</span>=<span style="color: #ff0000;">&quot;PART_ConnectorDecorator&quot;</span> <span style="color: #000066;">Property</span>=<span style="color: #ff0000;">&quot;Visibility&quot;</span> <span style="color: #000066;">Value</span>=<span style="color: #ff0000;">&quot;Visible&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/datatrigger<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/controltemplate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>
</td>
</tr>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/expression-blends-sketchflow-diagrams-with-g2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF PropertyGrid: v2.1 update</title>
		<link>http://visualizationtools.net/default/wpf-propertygrid-v21-update/</link>
		<comments>http://visualizationtools.net/default/wpf-propertygrid-v21-update/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 10:26:42 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[Property Grid]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2314</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/default/wp-content/uploads/drilldown.png"><img class="alignnone size-large wp-image-2315" title="WPG drilldown" src="http://www.orbifold.net/default/wp-content/uploads/drilldown-1024x619.png" alt="WPG drilldown" width="550" height="332" /></a></p>
<p>This minor update of the <a href="/WPG">WPF PRopertyGrid (WPG)</a> contains the following changes:</p>
<ul>
<li>ExpandableObjectConverter is supported for properties (<strong>complex properties</strong>). This allows you to drill down into an object by expanding sub-objects.</li>
<li>The Property <strong>Name column is optimized</strong> for width and space saving</li>
<li>By default the <strong>text-based editor commits property value onÂ control invalidation</strong> (focus lost) or Enter key press, Escape key press cancels value change</li>
<li><strong>NotifyParentProperty </strong>attribute is supported for properties</li>
<li><strong>&#8220;ComplexProperty&#8221; sample</strong> to installation package demonstrating the expandable properties</li>
<li><strong>Bug fixes</strong></li>
</ul>
<p>WPG customers will be notified of this update via mail. If you think you are eligible to receive this update but we overlooked you in our mailing, <a href="mailto:sales[@]orbifold.net">give us a sign</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/wpf-propertygrid-v21-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>G2: upcoming v2.0 features</title>
		<link>http://visualizationtools.net/default/g2-upcoming-v20-features/</link>
		<comments>http://visualizationtools.net/default/g2-upcoming-v20-features/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 10:06:10 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[Diagramming]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[G2]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2305</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/default/wp-content/uploads/flowcharting.png"><img class="alignnone size-large wp-image-2306" title="G2 flowcharting" src="http://www.orbifold.net/default/wp-content/uploads/flowcharting-1024x619.png" alt="G2 flowcharting" width="728" height="440" /></a></p>
<p>We&#8217;ve been busy. The screenshots reveal quite a bit the upcoming features but let me be explicit:</p>
<ul>
<li><strong>Groups</strong>: shapes can be embedded in groups ad infinitum (this is an undoable action and copy/cut/paste works with groups as well, of course)</li>
<li><strong>Flowcharting</strong>: better support for standard flowcharting</li>
<li><strong>Arrows and connections</strong>: better support for databinding your stuff (i.e. data backend) to connections and related adorners</li>
<li><strong>Rotations</strong>: rotating shapes and groups (undoable action)</li>
<li><strong>Unity 2.0:</strong> Unity merges with the ObjectBuilder2. Nothing shacking here but it will simplify the underlying data exchange pipeline of G2.</li>
<li><strong>Library support</strong>: shapes, groups, layers, pages and whole diagrams can be saved to libraries and organized in categories. This features is based on an adapter mechanism, which means you can have libraries in a database backend or accessible via WCF etc.</li>
<li><strong>Alignments</strong>: aligning shapes is now possible. In conjunction with the snap &amp; grid features this is particularly useful to have a nice layout.</li>
<li><strong>Snap &amp; grid</strong>: everything has become snap-able.</li>
<li><strong>Linking</strong>: better support inside shapes to (hyper)link data; either diagram elements or data entities coming from your backend.</li>
<li><strong>XML</strong>: better support for XML import/export, extending the already very solid and beautiful data exchange pipeline of v1.0</li>
<li> <strong>Theming of whole diagrams:</strong> apply a style to a complete diagram (cfr. Microsoft PowerPoint)</li>
<li><strong>Auto-connect shapes</strong>: auto-add or auto-connect shapes via the adjacent arrows appearing when hovering over shapes (cfr. Microsoft Visio)</li>
<li><strong>Bug fixes and squadrillions of little changes</strong> to make G2 better, faster, more useful, more business and data oriented, more beautiful.</li>
</ul>
<p>No date fixed yet to release v2.0 though it&#8217;s pretty stable already now. So many things are going on these days&#8230; I sincerely hope to deliver a big headline one of these days regarding our future (and G2&#8242;s future in particular). In any case, I feel immensely proud about G2&#8242;s wonderful architecture and the breadth of applications it can support, the scope of features and the many high-tech subtleties which you will not find in any other diagramming package. It leaves the competition beyond the diagramming horizon.</p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/theming.png"><img class="alignnone size-large wp-image-2312" title="G2: theming" src="http://www.orbifold.net/default/wp-content/uploads/theming-1023x553.png" alt="G2: theming" width="754" height="407" /></a></p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/groups.png"><img class="alignnone size-large wp-image-2307" title="G2 groups" src="http://www.orbifold.net/default/wp-content/uploads/groups-1024x619.png" alt="G2 groups" width="737" height="445" /></a></p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/better.png"><img class="alignnone size-large wp-image-2310" title="G2: better, faster, bigger, more beautiful." src="http://www.orbifold.net/default/wp-content/uploads/better-1024x554.png" alt="G2: better, faster, bigger, more beautiful." width="771" height="416" /></a></p>
<p><a href="http://www.orbifold.net/default/wp-content/uploads/better.png"></a><a href="http://www.orbifold.net/default/wp-content/uploads/cwis.png"><img class="alignnone size-large wp-image-2309" title="G2: thick arrows" src="http://www.orbifold.net/default/wp-content/uploads/cwis-1024x673.png" alt="G2: thick arrows" width="766" height="503" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/g2-upcoming-v20-features/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WPF Ruler</title>
		<link>http://visualizationtools.net/default/wpf-ruler/</link>
		<comments>http://visualizationtools.net/default/wpf-ruler/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 06:41:18 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2295</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-2296 alignright" title="Chip" src="http://www.orbifold.net/oldsite/wp-content/uploads/chip.png" alt="Chip" width="314" height="197" /></p>
<p>It might look like an easy thing to but it&#8217;s not: how to draw a ruler in WPF? Problems you eventually encounter: the dots-per-inch (DPI) and device-independent-pixel (DIP) conversions, the inches and centimeters, but also the rendering and precise location of litle chips and more.</p>
<p>One of the things you also see often in drawing packages is the little chip representing the location of the mouse or the element under consideration. In addition, this features usually comes with guides and snap to a grid or to the guide. Now, this research was done in the context of <a title="G2 library" href="/G2" target="_self">G2 and diagramming</a> (no surprise here I guess) but the rulers were easily developed and are useful outside this context, so I release the code here in the conviction that someone will find it useful somewhere/somehow. Note that guides, grids and snapping to guides or grids is related to rulers but cannot be part of it, so if you wish this you&#8217;ll have to implement it inside the canvas that the rulers embrace.</p>
<div class="bluebox"><a title="Visual Studio project" href="/downloads/Stuff/wpfruler.zip">Download the project</a></div>
<p>Don&#8217;t forget to say thank you <img src='http://visualizationtools.net/default/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img class="size-full wp-image-2297 alignright" title="G2 ruler" src="http://www.orbifold.net/oldsite/wp-content/uploads/g2ruler.png" alt="G2 ruler" width="296" height="296" /> You can also find <a title="A WPF color picker." href="/default/cellar/color-picker/" target="_blank">a color picker control here</a>, in case you&#8217;re looking for some more WPF goodies.</p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/wpf-ruler/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>A new family member: our WPF PropertyGrid v2.0 is released!</title>
		<link>http://visualizationtools.net/default/a-new-family-member-our-wpf-propertygrid-v20-is-released/</link>
		<comments>http://visualizationtools.net/default/a-new-family-member-our-wpf-propertygrid-v20-is-released/#comments</comments>
		<pubDate>Mon, 18 May 2009 16:34:57 +0000</pubDate>
		<dc:creator>Francois Vanderseypen</dc:creator>
				<category><![CDATA[Property Grid]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.orbifold.net/default/?p=2069</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbifold.net/oldsite/wp-content/uploads/wpg2.png"><img class="size-medium wp-image-2070 alignright" title="wpg 2" src="http://www.orbifold.net/oldsite/wp-content/uploads/wpg2-200x300.png" alt="wpg 2" width="200" height="300" /></a> Today I&#8217;m pleased to announce that <strong>our WPF PropertyGrid is ready for purchase</strong> and <span style="color: #993300;"><strong>Denis Vuyka</strong></span> deserves all the credits for his hard work and all the sleepless nights he put into it. See <a title="WPF PropertyGrid release details" href="http://denisvuyka.wordpress.com/2009/05/15/orbifold-wpf-propertygrid-2-0-is-out/" target="_blank">his blog for more details</a> about this release.</p>
<p>Among the more salient features:</p>
<ul>
<li>editing properties of <strong>multi-selections</strong></li>
<li><strong>theming </strong>and styling</li>
<li><strong>filtering </strong>of properties (very handy for easy access!)</li>
<li><strong>custom editors</strong> can be added with ease</li>
<li><strong>full control</strong> of what/how props are seen in the editor</li>
<li><strong>custom categories</strong></li>
</ul>
<p>In fact, everything you ever wanted and <span style="text-decoration: underline;">way better</span> than the Expressing Blend propertygrid.</p>
<p>The official product page and our updated information brochure will be soon available but prices are as follows:</p>
<ul>
<li>the <strong>single developer license</strong> (binaries, getting started guide) is yours for<strong> $200,-</strong></li>
<li>the<strong> site license </strong>(binaries, sources + unit tests, getting started guide) is <strong>500$</strong></li>
</ul>
<p>Both packages include <strong>one year of free updates and email support</strong>. Of course, we also offer custom development and integrations with our other products.</p>
<p>Stay tuned, we have more stuff in our backyard we&#8217;ll release in the near future!</p>
]]></content:encoded>
			<wfw:commentRss>http://visualizationtools.net/default/a-new-family-member-our-wpf-propertygrid-v20-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.visualizationtools.net/default/category/software/net/wpf/feed/ ) in 1.39106 seconds, on Feb 4th, 2012 at 12:06 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 4th, 2012 at 1:06 pm UTC -->
