<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Quick Zip Dev News</title>
	
	<link>http://quickzip.org/news</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 03 Sep 2010 04:16:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/quickzipdev" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="quickzipdev" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Quick Zip 5.1.8</title>
		<link>http://quickzip.org/news/2010/09/quick-zip-5-1-8/</link>
		<comments>http://quickzip.org/news/2010/09/quick-zip-5-1-8/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 11:38:55 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Quick Zip]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[QuickZip]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=574</guid>
		<description><![CDATA[QuickZip 5.1 allow you to perform powerful archive operations over a wide range of archive types using a familiar explorer like interface. I have added a numbers of improvements in Quick Zip 5.1.8 UIScale &#8211; Change the size of all UI controls by holding Control key and press +/-/0 or Mousewheel up/down. PickDirectoryDialog &#8211; Extract [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/08/QuickZip5Sep10.png"><img class="alignnone size-full wp-image-583" title="QuickZip5Sep10" src="http://quickzip.org/news/wp-content/uploads/2010/08/QuickZip5Sep10.png" alt="" width="379" height="278" /></a></p>
<p><strong>QuickZip 5.1</strong> allow you to perform powerful archive operations over a wide range of archive types using a familiar explorer like interface.</p>
<p>I have added a numbers of improvements in Quick Zip 5.1.8<span id="more-574"></span></p>
<ul>
<li><a href="http://picasaweb.google.com/lh/photo/-Nd84eCuYQJvBf6DvutCkA?feat=directlink">UIScale</a> &#8211; Change the size of all UI controls by holding Control key and press +/-/0 or Mousewheel up/down.</li>
<li><a href="http://picasaweb.google.com/lh/photo/G723Q-waPf1Z_3Q6GeQxgg?feat=directlink">PickDirectoryDialog</a> &#8211; Extract function now shows the new dialog.</li>
<li><a href="http://picasaweb.google.com/lh/photo/_DjkuRNcIqgHKYJr6Fnp0A?feat=directlink">Rewrite icon loading code</a> &#8211; ExtraLargeand Jumbo Icon for most special directories is now displayed correctly.</li>
<li>Archive/File now show correct last write time in gridview.</li>
<li>Fixed a Typo in Progress dialog (CancelButton)</li>
</ul>
<p><del datetime="2010-09-03T04:07:17+00:00">Autoupdate will be enabled in the next few days</del> (A bug in 5.1.7 and 5.1.8 prevent it from working), as for now, you can download the latest version here :</p>
<p><a href="http://home.netvigator.com/~mso6f/quickzip51.msi">Download link #1</a> (Netvigator.com)<br />
<a href="http://www.quickzip.org/downloads/quickzip51.msi">Download link #2</a> (Quickzip.org)<br />
<a href="http://www.overfiles.com/modules/TDMDownloads/singlefile.php?cid=5&amp;lid=1&amp;lang=english">Download link #3</a> (OverFiles &#8211; English)<br />
<a href="http://www.overfiles.com/modules/TDMDownloads/singlefile.php?cid=5&amp;lid=1&amp;lang=french">Download link #3</a> (OverFiles &#8211; French)<br />
<a href="http://www.frettts-freeware.com/zip.html">Download link #4</a> (Frettts-Freeware – English)<br />
<a href="http://www.frettts-freeware.de/zip.html">Download link #4</a> (Frettts-Freeware – German)</p>
<blockquote><p>Edit: 2010-09-03 :</p>
<p>If you have previous version of Quick Zip 5.1 installed, it will complain when installing.<br />
Instead of uninstall and install, you can create a <a href="http://quickzip.org/news/wp-content/uploads/2010/09/upgrade.zip">batch file</a> with the following command :<br />
<code>msiexec /i quickzip51.msi REINSTALL=ALL REINSTALLMODE=vomus</code></p></blockquote>
<p>Please check the <a href="http://quickzip.org/news/2010/08/quick-zip-5-1-7/">previous post</a> for software requirements.</p>
<!-- AdSense Now! V1.94 -->
<!-- Post[count: 2] -->
<div class="adsense adsense-leadout" style="float:left;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-1843916293598811";
/* WordPressMain */
google_ad_slot = "5387611107";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<p><a href="http://feedads.g.doubleclick.net/~a/MD-Sn4oAxditnv4pluyOi2rvc1o/0/da"><img src="http://feedads.g.doubleclick.net/~a/MD-Sn4oAxditnv4pluyOi2rvc1o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MD-Sn4oAxditnv4pluyOi2rvc1o/1/da"><img src="http://feedads.g.doubleclick.net/~a/MD-Sn4oAxditnv4pluyOi2rvc1o/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/09/quick-zip-5-1-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileExplorer 0.8 / DirectoryInfoEx 0.20</title>
		<link>http://quickzip.org/news/2010/08/fileexplorer-0-8-directoryinfoex-0-20/</link>
		<comments>http://quickzip.org/news/2010/08/fileexplorer-0-8-directoryinfoex-0-20/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 05:36:03 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Component]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[DirectoryInfoEx]]></category>
		<category><![CDATA[FileExplorer]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=553</guid>
		<description><![CDATA[FileExplorer includes two WPF controls, DirectoryTree and FileList.  Both support any normal/shell directory, background item loading, drag and drop, shell context menu, also refresh itself when the filesystem is changed. FileList also support seven different viewmodes, sort using grid header, multi-select via dragging and able to update itself when the FileSystem is Changed. I have [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste"><a href="http://quickzip.org/news/wp-content/uploads/2010/08/FileExplorer08-10.png"><img class="alignnone size-medium wp-image-557" title="FileExplorer08-10" src="http://quickzip.org/news/wp-content/uploads/2010/08/FileExplorer08-10-300x207.png" alt="" width="300" height="207" /><br />
</a></div>
<div>FileExplorer includes two WPF controls, DirectoryTree and FileList.  Both support any normal/shell directory, background item loading, drag and drop, shell context menu, also refresh itself when the filesystem is changed.</div>
<p>FileList also support seven different viewmodes, sort using grid header, multi-select via dragging and able to update itself when the FileSystem is Changed.</p>
<p>I have updated FileExplorer to 0.8, with the following changes.<span id="more-553"></span></p>
<ul>
<li>Fixed crash in IDE (no longer fully load when in designmode)</li>
<li>Added <a href="http://quickzip.org/news/2010/08/entryfilter-and-custominvokeaction/">EntryFilter</a> property to DirectoryTree and FileList</li>
<li>Added <a href="http://quickzip.org/news/2010/08/entryfilter-and-custominvokeaction/">OnDirectoryInvoked, OnFileInvoked and OnLinkInvoked</a> property to FileList</li>
</ul>
<p>I have also updated DirectoryInfoEx to 0.20, with the following changes.</p>
<ul>
<li>Fixed ShellProgressDialog still running after closed.</li>
<li>Added LinkSummaryInformation in ExtraPropertiesProvider.</li>
</ul>
<p>These projects require VS2010 or above to open.</p>
<p><span style="font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 12px; color: #111111;">You can download the control <a style="color: #993300; text-decoration: underline;" href="http://quickzip.org/news/wp-content/uploads/2010/08/FileExplorer.zip">here</a>, or read the article on <a style="color: #993300; text-decoration: underline;" href="http://www.codeproject.com/KB/WPF/WPFFileExplorer.aspx">CodeProject</a>. </span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/Cwks8055q9pAfm3mUdC6roQJWKo/0/da"><img src="http://feedads.g.doubleclick.net/~a/Cwks8055q9pAfm3mUdC6roQJWKo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Cwks8055q9pAfm3mUdC6roQJWKo/1/da"><img src="http://feedads.g.doubleclick.net/~a/Cwks8055q9pAfm3mUdC6roQJWKo/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/08/fileexplorer-0-8-directoryinfoex-0-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EntryFilter and CustomInvokeAction</title>
		<link>http://quickzip.org/news/2010/08/entryfilter-and-custominvokeaction/</link>
		<comments>http://quickzip.org/news/2010/08/entryfilter-and-custominvokeaction/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 09:05:14 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Component]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[FileExplorer]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=526</guid>
		<description><![CDATA[To allow control of what to list in FileList and DirectoryTree, e.g. to develop a custom PickDirectoryDialog, which file shouldn&#8217;t be listed on the FileList , I have updated these components to include EntryFilter and OnXXXInvoke actions. EntryFilter (FileList and DirectoryTree) [Flags] public enum EntryType { Special = 1 &#60;&#60; 1, Directory = 1 &#60;&#60; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/08/EntryFilter.png"><img class="alignnone size-full wp-image-527" title="EntryFilter" src="http://quickzip.org/news/wp-content/uploads/2010/08/EntryFilter.png" alt="" width="590" height="162" /></a></p>
<p>To allow control of what to list in FileList and DirectoryTree, e.g. to develop <a href="http://picasaweb.google.com/lh/photo/G723Q-waPf1Z_3Q6GeQxgg?feat=directlink">a custom PickDirectoryDialog</a>, which file shouldn&#8217;t be listed on the FileList , I have updated these components to include EntryFilter and OnXXXInvoke actions.<br />
<span id="more-526"></span></p>
<h3>EntryFilter (FileList and DirectoryTree)</h3>
<pre>[Flags]
public enum EntryType
{
    Special = 1 &lt;&lt; 1,
    Directory = 1 &lt;&lt; 2,
    File = 1 &lt;&lt; 3,
    Link = 1 &lt;&lt; 4
}</pre>
<p>Both DirectoryTree and FileList have a dependency property named EntryFilter, which links to the DirectoryTreeViewModel.EntryFilter.</p>
<p>ExModel have a new function named MatchEntryFilter(), which accepts a EntryFilter, and returns whether the item should be listed.</p>
<p>EntryFilter allows user to specify the item to list, using the EntryType enum.</p>
<p>Noted that some directories or files can have multiple EntryTypes, e.g.</p>
<ul>
<li>Link files (file with an extension .lnk) = EntryType.File | EntryType.Link</li>
<li>Most special directories (directory start with :: ) =  EntryType.Directory | EntryType.Special</li>
</ul>
<p>In that case, matching any of them will get them listed.</p>
<h3>OnDirectoryInvoke, OnLinkInvoke and OnFileInvoke actions (FileList only)</h3>
<pre>public enum CustomAction { Nothing, OpenFolderOrRun, OpenFolder, Run }</pre>
<p>You can customize how the FileList react when a user double-click on a directory, link or file, by assign OnXXXInvoked with one of the properties above. OpenFolderOrRun applies to link, as links may be pointed to a directory or file.</p>
<pre>public CustomAction DirectoryInvokedAction { get; set; }
public CustomAction FileInvokedAction { get; set; }
public CustomAction LinkInvokedAction { get; set; }</pre>
<p>FileListViewModel have implemented the interface ISupportInvoke, which implements the above actions, they are linked to FileList&#8217;s OnXXXInvoke dependency properties.  The static Invoking code is placed in ExViewModel, so any decedents, e.g. FileListItemViewModel, can use the following method to execute an Invoke action.</p>
<pre>protected static void Expand(ISupportInvoke _rootModel, Action changeDirectory, ExModel embeddedModel)</pre>

<p><a href="http://feedads.g.doubleclick.net/~a/CPAAym3UEJzwCpDsiBQ_AqjC37E/0/da"><img src="http://feedads.g.doubleclick.net/~a/CPAAym3UEJzwCpDsiBQ_AqjC37E/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CPAAym3UEJzwCpDsiBQ_AqjC37E/1/da"><img src="http://feedads.g.doubleclick.net/~a/CPAAym3UEJzwCpDsiBQ_AqjC37E/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/08/entryfilter-and-custominvokeaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Zip 5.1.7</title>
		<link>http://quickzip.org/news/2010/08/quick-zip-5-1-7/</link>
		<comments>http://quickzip.org/news/2010/08/quick-zip-5-1-7/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 16:35:45 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Quick Zip]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[QuickZip]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=489</guid>
		<description><![CDATA[QuickZip 5.1 allow you to perform powerful archive operations over a wide range of archive types using a familiar explorer like interface. Unlike previous version, Quick Zip 5.1 don&#8217;t pack with a lot of features, here&#8217;s a list : Windows 7 Explorer like interface, even on Windows XP Open wide range of archives as folders, support drag [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/08/QuickZip5Aug10.png"><img class="alignnone size-full wp-image-515" title="QuickZip5Aug10" src="http://quickzip.org/news/wp-content/uploads/2010/08/QuickZip5Aug10.png" alt="" width="379" height="278" /></a></p>
<p><strong>QuickZip 5.1</strong> allow you to perform powerful archive operations over a wide range of archive types using a familiar explorer like interface.</p>
<p>Unlike previous version, Quick Zip 5.1 don&#8217;t pack with a lot of features, here&#8217;s a list :</p>
<ul>
<li>Windows 7 Explorer like interface, even on <a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5490371992958279522">Windows XP</a></li>
<li>Open wide range of archives as folders, support drag and drop, and let you perform test, extract, delete and compress actions.</li>
</ul>
<p>After a month of test, it should be stable enough for a release.<span id="more-489"></span></p>
<p><a href="http://home.netvigator.com/~mso6f/quickzip51.msi">Download link #1</a> (Netvigator.com)<br />
<a href="http://www.quickzip.org/downloads/quickzip51.msi">Download link #2</a> (Quickzip.org)<br />
<a href="http://www.frettts-freeware.com/zip.html">Download link #3</a> (Frettts-Freeware – English)<br />
<a href="http://www.frettts-freeware.de/zip.html">Download link #3</a> (Frettts-Freeware – German)</p>
<p>Quick Zip 5.1 requires <strong>Windows XP or above</strong>, and it requires <strong>WPF (.Net 3.5 or above)</strong>, so if you are using Windows XP or Vista, you must have <span style="text-decoration: underline;"><strong>either</strong></span> of the following installed :</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325fd-ae52-4e35-b531-508d977d32a6&amp;displaylang=en">Microsoft .Net framework 3.5</a> (Larger download)</li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab">Microsoft .Net framework 4.0 Client Profile</a> (Smaller download, better performance)</li>
</ul>
<p>Quick Zip 5.1 is translated into 4 languages, these translations are applied automatically.<br />
Quick Zip 5.1 will <a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5498605355773087026">Auto-Update</a> itself every <strong>seven (7) days.</strong></p>
<p><strong></strong>Information about how to translate Quick Zip 5.1 and a toggle to disable AutoUpdate  can be found in the <a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5502265440941942466">About dialog</a>.  (press F1 in main screen).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/fbB_HsoTE9IaZ2f6wv_jFvM_Y9g/0/da"><img src="http://feedads.g.doubleclick.net/~a/fbB_HsoTE9IaZ2f6wv_jFvM_Y9g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fbB_HsoTE9IaZ2f6wv_jFvM_Y9g/1/da"><img src="http://feedads.g.doubleclick.net/~a/fbB_HsoTE9IaZ2f6wv_jFvM_Y9g/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/08/quick-zip-5-1-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status of Quick Zip</title>
		<link>http://quickzip.org/news/2010/07/status-of-quick-zip-3/</link>
		<comments>http://quickzip.org/news/2010/07/status-of-quick-zip-3/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 07:33:00 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Quick Zip]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[QuickZip]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=444</guid>
		<description><![CDATA[I have made some progress since last status update Aero glass – the transparent part in the top.  Also some updates to the breadcrumb so it fade when not active, and some XP related Theme updates (Breadcrumb align, GridView template) Notification bar – Improved design, also added a menu for Open directory, Restart and Remove [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/07/QuickZip5July10.png"><img class="alignnone size-full wp-image-445" title="QuickZip5July10" src="http://quickzip.org/news/wp-content/uploads/2010/07/QuickZip5July10.png" alt="" width="400" height="287" /></a></p>
<p>I have made some progress since <a href="http://quickzip.org/news/2010/06/status-of-quick-zip-2">last status update</a></p>
<ul>
<li>Aero glass – the transparent part in the top.  Also some updates to the breadcrumb so it fade when not active, and some XP related Theme updates (Breadcrumb align, GridView template)</li>
<li><a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5494037598175280402">Notification bar</a> – Improved design, also added a menu for Open directory, Restart and Remove from list.</li>
<li>Improved <a href="http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx#heading0010">warm start performance</a> – mainly from Native image install, as well as <a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5492504256677105682">optional</a> .Net 4.0 client profile framework support.</li>
<li><a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5491545387407855346">Overwrite dialog</a></li>
<li>Multi-Window support, open new window when user open an archive in Explorer, reuse if specified directory already opened.</li>
<li>Translation support – on Main window and <a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5491545387407855346">Overwrite dialog</a>.  <strong>Translation script can be downloaded </strong><a href="http://quickzip.org/news/wp-content/uploads/2010/07/defaultLanguage.zip"><strong>here</strong></a>.</li>
<li>Some misc updates
<ul>
<li>Address input box support autosuggest</li>
<li>Drop Action uses CopyExAWork</li>
<li>Improve Response speed for SelectAll/UnselectAll</li>
<li>Breadcrumb expander arrow border</li>
<li>Control-Backspace in Address input box now recognize archives</li>
</ul>
</li>
</ul>
<p>Uncompleted items that I can think of :</p>
<ul>
<li>Tabs – nice to have, not mandatory.</li>
<li>Progress dialog – need some enhancements so it can pause and show the progress log.</li>
<li>Bugfixes</li>
</ul>
<p>The current version included only the most <span style="text-decoration: underline;">basic functions</span>, the rest divided to three types :</p>
<ul>
<li>UI design – implemented, but haven&#8217;t decide how to put it on the user interface, e.g. Password support</li>
<li>Not Implemented – because of time constraints, e.g. Scripting</li>
<li>Obsoleted – functions that no one will ever use again, e.g. SFX.</li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/REGCBiHuMTINFCrfovXFEJ487lw/0/da"><img src="http://feedads.g.doubleclick.net/~a/REGCBiHuMTINFCrfovXFEJ487lw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/REGCBiHuMTINFCrfovXFEJ487lw/1/da"><img src="http://feedads.g.doubleclick.net/~a/REGCBiHuMTINFCrfovXFEJ487lw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/07/status-of-quick-zip-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileExplorer 0.7 / DirectoryInfoEx 0.19</title>
		<link>http://quickzip.org/news/2010/07/fileexplorer-0-7/</link>
		<comments>http://quickzip.org/news/2010/07/fileexplorer-0-7/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 17:22:48 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Component]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[DirectoryInfoEx]]></category>
		<category><![CDATA[FileExplorer]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=391</guid>
		<description><![CDATA[FileExplorer includes two WPF controls, DirectoryTree and FileList.  Both support any normal/shell directory, background item loading, drag and drop, shell context menu, also refresh itself when the filesystem is changed. FileList also support seven different viewmodes, sort using grid header, multi-select via dragging and able to update itself when the FileSystem is Changed. I have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/07/FileExplorer07.png"><img class="alignnone size-medium wp-image-424" title="FileExplorer07" src="http://quickzip.org/news/wp-content/uploads/2010/07/FileExplorer07-300x208.png" alt="" width="300" height="208" /></a></p>
<p>FileExplorer includes two WPF controls, DirectoryTree and FileList.  Both support any normal/shell directory, background item loading, drag and drop, shell context menu, also refresh itself when the filesystem is changed.</p>
<p>FileList also support seven different viewmodes, sort using grid header, multi-select via dragging and able to update itself when the FileSystem is Changed.</p>
<p>I have updated FileExplorer to 0.7, with the following changes.<span id="more-391"></span></p>
<ul>
<li>Fixed a bug that caused wired thumbnail render.</li>
<li>Fixed <a href="http://quickzip.org/news/2010/06/treeview-in-windows-7-style/">W7TreeViewItem Style</a>, which enable hot track only over the text instead of the whole line.</li>
<li>Fixed Virtual FileListItem retain selection state (IsSelected = true) after SelectAllCommand and User selecting another item (via Selection Helper).</li>
<li>Fixed click on GridView Header recognize as drag start.</li>
<li>For GridView, only support selection if drag occur inside the first column</li>
<li>Drop operations now use <a href="http://quickzip.org/news/2010/05/directoryinfoex-asynchronous-manipulation/">WorkEx</a>, which support <a href="http://quickzip.org/news/2010/05/directoryinfoex-asynchronous-manipulation/">custom progress dialog implementation</a> and run in separate thread.</li>
<li> OverwriteMode changes in DirectoryInfoEx 0.19.  (see below)</li>
</ul>
<p>Before overwriting an existing file, CopyWork and other Works do raise a WorkOverwrite event, which is a property : Overwrite, to allow specify to continue overwrite (or not).  Currently this property is a boolean, where true is equal to overwrite.   To make the it more extendable, it is changed to OverwriteMode enum type.</p>
<pre>public enum OverwriteMode { Ask, KeepOriginal, Replace };</pre>
<p>You can download the control <a href="http://quickzip.org/news/wp-content/uploads/2010/07/FileExplorer.zip">here</a>, or read the article on <a href="http://www.codeproject.com/KB/WPF/WPFFileExplorer.aspx">CodeProject</a>.<br />
SelectionHelper 0.4 can be downloaded <a href="http://quickzip.org/news/wp-content/uploads/2010/07/SelectionHelperTest.zip">here</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/ExvmlJ_BQ42RvOEPwzelDKGPebw/0/da"><img src="http://feedads.g.doubleclick.net/~a/ExvmlJ_BQ42RvOEPwzelDKGPebw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ExvmlJ_BQ42RvOEPwzelDKGPebw/1/da"><img src="http://feedads.g.doubleclick.net/~a/ExvmlJ_BQ42RvOEPwzelDKGPebw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/07/fileexplorer-0-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DirectoryInfoExA : Work Implementation #1</title>
		<link>http://quickzip.org/news/2010/07/directoryinfoexa-work-implementation-1/</link>
		<comments>http://quickzip.org/news/2010/07/directoryinfoexa-work-implementation-1/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 18:16:07 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[DirectoryInfoExA]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=223</guid>
		<description><![CDATA[Introduction Work in DirectoryInfoEx(Ex) includes CopyWork, MoveWork, DeleteWork and ListWork, each Work will divide a work into smallest possible tasks and run them sequentially, thus possible to report progress and cancel. DirectoryInfoExA (ExA), unlike Ex, support converting a shell item to another (e.g. an archive file (FileInfoEx) to archive directory (ArchiveInfoExA)), as well as creating [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/07/DirExAWorkDiagram.png"><img class="alignnone size-medium wp-image-414" title="DirExAWorkDiagram" src="http://quickzip.org/news/wp-content/uploads/2010/07/DirExAWorkDiagram-300x140.png" alt="" width="300" height="140" /></a></p>
<p><strong>Introduction</strong></p>
<p>Work in DirectoryInfoEx(Ex) includes CopyWork, MoveWork, DeleteWork and ListWork, each Work will divide a work into smallest possible tasks and run them sequentially, thus possible to report progress and cancel.</p>
<p>DirectoryInfoExA (ExA), unlike Ex, support converting a shell item to another (e.g. an archive file (FileInfoEx) to archive directory (ArchiveInfoExA)), as well as creating one from nothing (e.g. BookmarkDirectory).  It&#8217;s possible to implement the WorkExA using the method I used in Ex, but if I implement it in file based directory (especially archive directory), the performance become very slow, because the overhead for each archive-related action is great.</p>
<p>To overcome this problem, and to maintain computability with Ex a new Work implementation is developed :<span id="more-223"></span></p>
<p><strong>Implementation</strong></p>
<p>I reuse as much code as possible in ExA, so it benefits ExA every time a bug in Ex is reported and fixed.  So, WorkSpawnerExA inherited from WorkSpawner, and inherited all events and work spawning methods, with the following additions :</p>
<ul>
<li>WorkOverwrite/WorkList event does not support the new entries so WorkOverwriteExA/WorkListExA event is added.</li>
<li>New overloads for SpawnCopyWork() is also added for new entries, it will construct the new <em>CopyWorkExA</em><strong> </strong>instead of <em>CopyWork</em>, because all work is inherited from IWork, they can be used in the same way.</li>
<li>SpawnCusomWork() method is added to deal with non copy operations (e.g. Test an archive)</li>
</ul>
<p><strong>CopyWorkExA</strong></p>
<p>Compared with CopyWork, CopyWorkExA have to handle more situations, For examples :</p>
<p><em>for simplicity, I use Shell to represent real disk files/directory, and Archive to represent file/directory inside an archive (or other virtual folders).</em></p>
<ul>
<li>Shell &#8212;&gt; Archive<br />
Create a list to copy, then add them to archive</li>
<li>Archive  &#8212;&gt; Shell<br />
Extract to temp directory, create a list to copy, then copy them one by one</li>
<li>Shell &#8212;&gt; Shell<br />
Create a list of files to copy, then copy them one by one</li>
<li>Archive &#8212;&gt; Archive<br />
Extract to temp directory, create a list to copy, then add them to archive</li>
</ul>
<p>As you noticed, CopyWork is actually two tasks :</p>
<ul>
<li>Discover &#8211; Prepare a list of files to copy, then pass to next task</li>
<li>Transfer &#8211; Copy the files to destination.</li>
</ul>
<p>So the new CopyWorkExA is actually executing two task sequentially, and the tasks are defined as interface, namely, IDiscoverWork and ITransferWork.</p>
<p>The events (e.g. WorkOverwrite, WorkProgress, WorkMessage) raised by both Works are handled by it&#8217;s constructor, the CopyWorkExA.</p>
<p><em>Note: Actually CopyWorkExA is inherited from FileOperationWorkBase.  CopyWorkExA only instruct it to Copy.</em></p>
<p><strong>IDiscoverWork</strong></p>
<p>IDiscoverWork check and return entries inside one IFileInfoExA or IDirectoryInfoExA entry.</p>
<ul>
<li>SourceEntry &#8211; Specify an IFileSystemInfoExA to discover</li>
<li>LookupSubdirs &#8211; Specify whether the IDiscoverWork should return the items in subdirectories.</li>
<li>IsTempFiles &#8211; Whether the files returned is temporary files.</li>
<li>DiscoveredEntries &#8211; The list of files found, noted that it is in Ex instead of ExA format, thus it must be files or directories in hard drive.</li>
<li>DiscoveredEntriesBaseDirectory &#8211; The base directory of discovered files, ITransferWork uses IOTools.GetRelativePath(item, baseDirectory) to figure out the destination path name.</li>
<li>DoWork() method &#8211; Start preparing the list.</li>
<li>CleanUp() method &#8211; If the file IsTempFiles, CleanUp() method will remove those temp files.</li>
</ul>
<p><strong>ITransferWork</strong></p>
<p>ITransferWork transfer a number of FileSystemInfoEx entries to a destination.</p>
<ul>
<li>PreferLookupSubDirs &#8211; Specify if the implementation of ITransferWork perefer to return only the top level entries, or all top level and sub level entries.</li>
<li>SourceEntries &#8211; Specify the FileSystemInfoEx entries to transfer.</li>
<li>SourceEntryBaseDirectory &#8211; Specify the base directory of SourceEntries, used to figure out the destination path of the file to transfer.</li>
<li>Destination &#8211; Specify the IDirectoryInfoExA directory to transfer to.</li>
<li>TransferMode &#8211; Specify Copy or Move.</li>
<li>IsCleanupRequired &#8211; When TransferMode = Move, return whether IDiscoverWork.CleanUp() method should be called after transfer completed.</li>
</ul>
<p>So CopyWorkExA actually does the following :</p>
<ol>
<li>Generate a dummy TransferWork to figure if it PreferLookupSubDirs</li>
<li>For <span style="text-decoration: underline;">each entries</span> to copy from, generate an IDiscoverWork, then start the generated works.</li>
<li>For <span style="text-decoration: underline;">each base directory</span> returned from the IDiscoverWorks, generate an ITransferWork, then start the generated works.</li>
</ol>
<p>The implementation of  WorkProviderLibrary, ITransferWork and IDiscoverWork will be discussed in the next article.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/-2QfaOY7VBtSoi8xM4qXnqaWczY/0/da"><img src="http://feedads.g.doubleclick.net/~a/-2QfaOY7VBtSoi8xM4qXnqaWczY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-2QfaOY7VBtSoi8xM4qXnqaWczY/1/da"><img src="http://feedads.g.doubleclick.net/~a/-2QfaOY7VBtSoi8xM4qXnqaWczY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/07/directoryinfoexa-work-implementation-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status of Quick Zip</title>
		<link>http://quickzip.org/news/2010/06/status-of-quick-zip-2/</link>
		<comments>http://quickzip.org/news/2010/06/status-of-quick-zip-2/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 13:16:43 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Quick Zip]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[QuickZip]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=362</guid>
		<description><![CDATA[Further to the previous status update, I would like to update the progress. Completed Items Toolbar commands –  It&#8217;s completed, except it currently cannot display the message log when there&#8217;s an error, and only few commands is implemented (3 for archive, 1 for file), and it doesnt support encryption as well. DirectoryTree style – Directory [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/06/QuickZip5June10.png"><img class="alignnone size-full wp-image-363" title="QuickZip5June10" src="http://quickzip.org/news/wp-content/uploads/2010/06/QuickZip5June10.png" alt="" width="400" height="287" /></a></p>
<p>Further to the <a href="http://quickzip.org/news/2010/05/status-of-quick-zip/">previous status update</a>, I would like to update the progress.  Completed Items</p>
<ul>
<li>Toolbar commands –  It&#8217;s completed, except it currently cannot display the message log when there&#8217;s an error, and only few commands is implemented (3 for archive, 1 for file), and it doesnt support encryption as well.</li>
<li>DirectoryTree style – Directory Tree is <a href="http://quickzip.org/news/2010/06/treeview-in-windows-7-style/">updated</a> so it looks similar than the one in Windows 7 File Explorer.</li>
<li>Organize menu – New, Copy, Paste, Select All, Delete, Properties and Close.</li>
<li>Open with menu – <a href="http://picasaweb.google.com/QuickZipDev/QuickZip51#5480313655592102930">Screenshot here</a>.</li>
<li>Shortcut keys – Added some shortcut keys for DirectoryTree and FileList, e.g. Del for Delete, F2 for Rename, Ctrl+A for Un/SelectAll</li>
<li>Shell Associate – A tool is written to associate Quick Zip 5.1 as the default program for several archives.</li>
<li>Installer – Moved to <a href="http://wix.sourceforge.net/">Wix</a>, but I have completed the file copy part only.</li>
</ul>
<p>What is not completed :</p>
<ul>
<li>Translation – I will try to use Quick Zip 5.00 translation if possible.</li>
<li>Tab – No Tab support is available now, prepared the design, will require another layer.</li>
<li>Ngen – Automatically generate native image, native images are run much faster than Just-In-Time code.</li>
</ul>
<p>Currently I am working on Translation support, and there&#8217;s a couple bugs that requires a fix.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/-bqdGLDtV4ffb46tNRuprZi0qLI/0/da"><img src="http://feedads.g.doubleclick.net/~a/-bqdGLDtV4ffb46tNRuprZi0qLI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-bqdGLDtV4ffb46tNRuprZi0qLI/1/da"><img src="http://feedads.g.doubleclick.net/~a/-bqdGLDtV4ffb46tNRuprZi0qLI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/06/status-of-quick-zip-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileExplorer 0.6</title>
		<link>http://quickzip.org/news/2010/06/fileexplorer-0-6/</link>
		<comments>http://quickzip.org/news/2010/06/fileexplorer-0-6/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 07:27:58 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Component]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[FileExplorer]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=352</guid>
		<description><![CDATA[FileExplorer includes two WPF controls, DirectoryTree and FileList.  Both support any normal/shell directory, background item loading, drag and drop, shell context menu, also refresh itself when the filesystem is changed. FileList also support seven different viewmodes, sort using grid header, multi-select via dragging and able to update itself when the FileSystem is Changed. I have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/06/FileExplorer06.png"><img class="alignnone size-medium wp-image-353" title="FileExplorer06" src="http://quickzip.org/news/wp-content/uploads/2010/06/FileExplorer06-300x187.png" alt="" width="300" height="187" /></a></p>
<p>FileExplorer includes two WPF controls, DirectoryTree and FileList.  Both support any normal/shell directory, background item loading, drag and drop, shell context menu, also refresh itself when the filesystem is changed.</p>
<p>FileList also support seven different viewmodes, sort using grid header, multi-select via dragging and able to update itself when the FileSystem is Changed.</p>
<p>I have updated FileExplorer to 0.6, with the following changes.</p>
<ul>
<li><a href="http://quickzip.org/news/2010/06/treeview-in-windows-7-style/">Updated DirectoryTree Style</a> so it match the style of FileList.</li>
<li>Added a wide range of Commands (in <a href="http://quickzip.org/news/2010/06/simpleroutedcommand/">SimpleRoutedCommand</a> format, 6 for FileList, 2 for DirectoryTree and 6 for both), can be accessed by
<ul>
<li>calling FileList/DirectoryTree.Commands (In separate class to reduce the complexity of main control).</li>
<li>most of those commands are bound with a RoutedUICommands, like ApplicationCommands.SelectAll.</li>
<li>shortcut keys (e.g. F2 for rename)</li>
</ul>
<p>See FileList/DirectoryTree/SharedCommands.cs for details.</li>
<li>Updated DirectoryInfoEx to 0.18.</li>
</ul>
<p>DirectoryInfoEx and FileExplorer is released under LGPL license.<br />
You can download the control <a href="http://quickzip.org/news/wp-content/uploads/2010/06/FileExplorer.zip">here</a>, or read the article on <a href="http://www.codeproject.com/KB/WPF/WPFFileExplorer.aspx">CodeProject</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/CEgXtdpKQ7BOeoXB2lsA9VDin8Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/CEgXtdpKQ7BOeoXB2lsA9VDin8Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CEgXtdpKQ7BOeoXB2lsA9VDin8Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/CEgXtdpKQ7BOeoXB2lsA9VDin8Q/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/06/fileexplorer-0-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TreeView in Windows 7 style</title>
		<link>http://quickzip.org/news/2010/06/treeview-in-windows-7-style/</link>
		<comments>http://quickzip.org/news/2010/06/treeview-in-windows-7-style/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 07:00:49 +0000</pubDate>
		<dc:creator>lycj</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[FileExplorer]]></category>

		<guid isPermaLink="false">http://quickzip.org/news/?p=307</guid>
		<description><![CDATA[Introduction This article describe how to style the WPF TreeView so it looks like the one in Windows 7 File Explorer, I basically included 3 changes : Reduced indent spacing Full line selection indicator Auto fade expander arrows How to use? Include W7TreeViewItem.xaml and W7TreeViewItemUtils.cs. Change the ItemContainerStyle of your TreeView. &#60;Setter Property="ItemContainerStyle"&#62; &#60;Setter.Value&#62; &#60;Style [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://quickzip.org/news/wp-content/uploads/2010/06/W7StyleDTree1.png"><img class="alignnone size-full wp-image-309" title="W7StyleDTree" src="http://quickzip.org/news/wp-content/uploads/2010/06/W7StyleDTree1.png" alt="" width="364" height="115" /></a></p>
<h3>Introduction</h3>
<p>This article describe how to style the WPF TreeView so it looks like the one in Windows 7 File Explorer, I basically included 3 changes :</p>
<ul>
<li>Reduced indent spacing</li>
<li>Full line selection indicator</li>
<li>Auto fade expander arrows</li>
</ul>
<p><span id="more-307"></span></p>
<h3>How to use?</h3>
<ul>
<li>Include W7TreeViewItem.xaml and W7TreeViewItemUtils.cs.</li>
<li>Change the ItemContainerStyle of your TreeView.</li>
<pre>&lt;Setter Property="ItemContainerStyle"&gt;
  &lt;Setter.Value&gt;
    &lt;Style TargetType="{x:Type TreeViewItem}"
           BasedOn="{StaticResource W7TreeViewItemStyle}"&gt;
    ...
  &lt;/Setter.Value&gt;
&lt;/Setter&gt;</pre>
<li>Enable W7TreeViewItemUtils.IsEnabled property for your TreeView, who will hook MouseEnter and MouseLeave event.
<pre>W7TreeViewItemUtils.SetIsEnabled(this, true);</pre>
</li>
</ul>
<h3>Reduced Indent Spacing</h3>
<p>This is simple, all you need is to modify the ControlTemplate (You can look for it from MSDN, or use the &#8220;Edit a copy&#8221; function in Blend), You can find an ItemsPresenter inside the Template,  which is used to  list subitems, all you need is to change it&#8217;s Grid.Column to 0 (from 1), ColumnSpan to 3 (from 2) and set some Margin in the left side.</p>
<pre>&lt;ItemsPresenter x:Name="ItemsHost" Margin="8,0,0,0"
      Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1" /&gt;</pre>
<h3>Full line Selection Indicator</h3>
<p>The default indicator occupy only the area of it&#8217;s contents, which in this case, icon and text, this is because the parent  TreeViewItem occupy only that area, so changing the background doesnt work.</p>
<p>You may want to set  HorizontalAlighment to Stretch, so the TreeViewItem occupy as much area as possible, it seems to work at first, but as you see above, subitems are placed in ItemsPresenter, and ItemsPresenter is allocated with a margin, which is 8 pts per level.</p>
<p>So the only way to deal with this is to use RenderTransform.  Using RenderTransform you can change how it render, if I use ScaleTransform and set ScaleX to negative value, it will render from right to left (like a mirror).</p>
<p>Unlike LayoutTransform, RenderTransform affects the display only, so it wont change the size of the TreeView.</p>
<pre>&lt;Border Padding="{TemplateBinding Padding}" Grid.Column="0" Grid.ColumnSpan="3"&gt;
  &lt;Grid x:Name="BdGrid" &gt;
    &lt;Grid.RowDefinitions&gt;
      &lt;RowDefinition MaxHeight="11"/&gt;
      &lt;RowDefinition/&gt;
    &lt;/Grid.RowDefinitions&gt;
    &lt;Border x:Name="Bd" SnapsToDevicePixels="true"
            Background="{StaticResource SelectedBackgroundBrush}"  Grid.RowSpan="2"
            Visibility="Collapsed" BorderThickness="0,1" BorderBrush="#FFCCF0FF" /&gt;
    &lt;Rectangle x:Name="BdUpperHighlight" Fill="#75FFFFFF" Visibility="Collapsed" /&gt;
    &lt;Border x:Name="Bd2" SnapsToDevicePixels="true" ...Same as Bd... &gt;
      &lt;Border.RenderTransform&gt;
        &lt;TransformGroup&gt;
          &lt;ScaleTransform ScaleX="-2" /&gt;
        &lt;/TransformGroup&gt;
      &lt;/Border.RenderTransform&gt;
    &lt;/Border&gt;
    &lt;Rectangle x:Name="Bd2UpperHighlight" ...Same as BdUpperHighlight... &gt;
      &lt;Rectangle.RenderTransform&gt;
        &lt;TransformGroup&gt;
          &lt;ScaleTransform ScaleX="-2" /&gt;
        &lt;/TransformGroup&gt;
      &lt;/Rectangle.RenderTransform&gt;
    &lt;/Rectangle&gt;
  &lt;/Grid&gt;
&lt;/Border&gt;</pre>
<p>The UpperHighlight is found in above is required to make the upper part of the background look lighter (like Aero controls).</p>
<h3>Auto fade Expander arrows</h3>
<p>The expander arrow is only shown when the mouse cursor enter the TreeView (IsMouseOver), the expander then disappear slowly when cursor leave.</p>
<p>You cannot create a EventTrigger that intercept MouseEnterEvent from the TreeView, it can only intercept the item&#8217;s MouseEnterEvent, even you set TreeView.MouseEnterEvent.</p>
<p>So I created an attached property W7TreeViewItemUtils.IsEnabled, when set to true, will change another attached property W7TreeViewItemUtils.ArrowOpacity when mouse enter and leave the TreeView.   On the another side, ArrowOpacity is also bound by the TreeViewItem, so it will slowly disappear when TreeView&#8217;s ArrowOpacity is set from 1 to 0 using a DoubleAnimation.</p>
<p>The final product can be found in my <a href="http://www.codeproject.com/KB/WPF/WPFFileExplorer.aspx">FileExplorer article</a> (0.6).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/qc2tJybjwvMujYN9pHy1V-bACyM/0/da"><img src="http://feedads.g.doubleclick.net/~a/qc2tJybjwvMujYN9pHy1V-bACyM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qc2tJybjwvMujYN9pHy1V-bACyM/1/da"><img src="http://feedads.g.doubleclick.net/~a/qc2tJybjwvMujYN9pHy1V-bACyM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://quickzip.org/news/2010/06/treeview-in-windows-7-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
