<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>WPF Story</title>
		<link>http://crowsley2.cafe24.com/</link>
		<description>Introducing and Learning about Window Presentation Foundation (WPF)</description>
		<language>en</language>
		<pubDate>Fri, 11 Sep 2009 12:46:49 +0900</pubDate>
		<generator>Textcube 1.7.5 : Risoluto</generator>
		<item>
			<title>VS2010 now support multi-monitors!</title>
			<link>http://crowsley2.cafe24.com/entry/VS2010-will-support-multi-monitors</link>
			<description>&lt;h3&gt; Using Multi-monitors have become one of the basic environments for developing softwares.&lt;/h3&gt;
&lt;h4&gt; But, from VS6 to VS2008 there was no development environment to support multi-monitors. Only we can drag a window of VS2008 to expand the width of it across the monitors. Happy news comes to us from Scott Guthrie. Now we can extract windows from the VS2010 and throw it to another window! I don&#039;t doubt it will enhance our productivity.&lt;br/&gt; &lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2009/08/31/multi-monitor-support-vs-2010-and-net-4-series.aspx&quot;  target=&quot;_blank&quot;&gt;Scott Guthrie&lt;/a&gt; posted it detail.&lt;/h4&gt;</description>
			<category>WPF</category>
			<category>Visual Studio</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/34</guid>
			<comments>http://crowsley2.cafe24.com/entry/VS2010-will-support-multi-monitors#entry34comment</comments>
			<pubDate>Tue, 01 Sep 2009 18:08:45 +0900</pubDate>
		</item>
		<item>
			<title>How to bind WPF controls to Application settings</title>
			<link>http://crowsley2.cafe24.com/entry/How-to-bind-WPF-controls-to-Application-settings</link>
			<description>&lt;h2&gt;When to bind WPF controls to settings&lt;/h2&gt;&lt;br&gt;
&lt;h3&gt;At Sometimes, i want to show program verion in my application. And I wrote it in Application settings (&quot;Settings.Settings&quot;). How could I do that? If we don&#039;t know how to bind it, we have to write twice at each time upgrading our programs. &lt;a href=&quot;http://www.jaylee.org/post/2007/02/WPF-DataBinding-and-Application-Settings.aspx&quot;&gt;Jerome Laban&lt;/a&gt; and &lt;a href=&quot;http://social.msdn.microsoft.com/Forums/ko-KR/wpf/thread/64b799ad-34cb-43f8-be29-528e30d4baf0&quot;&gt;Michael jp&lt;/a&gt; posted how to do that with different approaches.&lt;/h3&gt; &lt;br&gt;
&lt;h2&gt;Method 1: using resource declaration&lt;/h2&gt;&lt;br&gt;
&lt;h3&gt;I simplify the method 1. First, write a string you want to show like this.&lt;br&gt;
&lt;img src=&quot;http://crowsley2.cafe24.com/attach/1/4632473549.png&quot; width=&quot;600&quot; height=&quot;187&quot; /&gt;&lt;br&gt;
Secondly, add namespace for application settings. and declare a setting object in the resource&lt;br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
&lt;window x:class=&quot;WpfApplication1.Window1&quot; xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot; xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot; xmlns:settings=&quot;clr-namespace:WpfApplication1.Properties&quot; title=&quot;Window1&quot; height=&quot;300&quot; width=&quot;300&quot;&gt;
    &lt;window.resources&gt;
        &lt;settings:settings x:key=&quot;settings&quot;&gt;
    &lt;/settings:settings&gt;&lt;/window.resources&gt;
&lt;/window&gt;
&lt;/textarea&gt;&lt;br&gt;
Lastly, bind a control to the Settings object like this.&lt;br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
&lt;textblock text=&quot;{Binding Source={StaticResource settings},Path=Default.Version}&quot;&gt;
&lt;/textarea&gt;
&lt;/textblock&gt;&lt;/h3&gt;&lt;br&gt;
&lt;h2&gt;Method 2: using x:Static keyword&lt;/h2&gt;&lt;br&gt;
&lt;h3&gt;Or if you want to bind it as a static, just do like this.&lt;br&gt;
First, declare the namespace for application settings. it is the same with method 1.&lt;br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt; xmlns:Properties=&quot;clr-namespace:WindowsApplication1.Properties&quot; &lt;/textarea&gt;
Second, bind the control to the settings using x:Static keyword like this.&lt;br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt; &lt;textblock name=&quot;textps&quot; text=&quot;{Binding Path=Setting1, Source={x:Static Properties:Settings.Default}}&quot;&gt; &lt;/textarea&gt;
 &lt;/textblock&gt;&lt;/h3&gt;&lt;br&gt;</description>
			<category>WPF</category>
			<category>Data binding</category>
			<category>wpf</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/32</guid>
			<comments>http://crowsley2.cafe24.com/entry/How-to-bind-WPF-controls-to-Application-settings#entry32comment</comments>
			<pubDate>Wed, 08 Apr 2009 23:43:46 +0900</pubDate>
		</item>
		<item>
			<title>How to log using XmlDataProvider in WPF</title>
			<link>http://crowsley2.cafe24.com/entry/How-to-log-using-XmlDataProvider-in-WPF</link>
			<description>&lt;H2&gt;Multithread logger in WPF&lt;/H2&gt;
&lt;H3&gt;Tamir Khason posted &quot;Multithread logger in WPF&quot;. In that article, we can learn about how to log errors using XmlDataProvider in WPF. It is clear and interest. &lt;BR&gt;He posted his article &lt;a href=&quot;http://blogs.microsoft.co.il/blogs/tamir/archive/2007/03/18/Multithread-logger-in-WPF.aspx&quot;&gt;here&lt;/a&gt;&amp;nbsp;(or you can it &lt;a href=&quot;http://khason.net/blog/multithread-logger-in-wpf&quot;&gt;here&lt;/a&gt;.)&lt;BR&gt;&lt;/H3&gt;</description>
			<category>WPF</category>
			<category>Logging</category>
			<category>wpf</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/28</guid>
			<comments>http://crowsley2.cafe24.com/entry/How-to-log-using-XmlDataProvider-in-WPF#entry28comment</comments>
			<pubDate>Mon, 09 Mar 2009 00:35:21 +0900</pubDate>
		</item>
		<item>
			<title>How to use XmlDataProvider from code behind (c# code)</title>
			<link>http://crowsley2.cafe24.com/entry/How-to-use-XmlDataProvider-from-code-behind-c-code</link>
			<description>&lt;H2&gt;In many cases, XML is very useful in programming&lt;/H2&gt;
&lt;h3&gt;For example, I have written a program which support many product catalogs. In traditional programming, we had used a database or a customized file which support hierarchy structures. But in recent day, we can easily do that by XML. In WPF, XmlDataProvider was given to us to handle XML data.&lt;/h3&gt;
&lt;H2&gt;how to use XMLDataProvider from code behind (c# code)&lt;/H2&gt;
&lt;H3&gt;It was not problem when I use XmlDataProvider in xaml. The problem occurs when I use XmlDataProvider in code behind (C# code)!. I wrote the code like this &lt;/br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
//codes in xaml
&lt;Window.Resources&gt;
   &lt;XmlDataProvider x:Key=&quot;ProductDS&quot; Source=&quot;Product.xml&quot; XPath=&quot;/Product&quot;/&gt;
&lt;/Window.Resources&gt;

//codes in code behind
XmlDataProvider dp = Resources[&quot;ProductDS&quot;] as XmlDataProvider;
System.Xml.XmlDocument doc = dp.Document;
&lt;/textarea&gt;
&lt;/br&gt;
But dp.Document has null! And After running it twice, dp.Document has data I wants. It looks very strange to me. If you have same problem, don&#039;t worry about it. The key to solve this situation is following.&lt;/br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
dp.IsAsynchronous = false;
&lt;/textarea&gt;
After changing &quot;IsAsynchronous&quot; property to false, XmlDataProvider will give you all the results you order. &lt;/br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
//codes in xaml
&lt;Window.Resources&gt;
   &lt;XmlDataProvider x:Key=&quot;ProductDS&quot; Source=&quot;Product.xml&quot; XPath=&quot;/Product&quot;/&gt;
&lt;/Window.Resources&gt;

//codes in code behind
XmlDataProvider dp = Resources[&quot;ProductDS&quot;] as XmlDataProvider;
dp.IsAsynchronous = false;
System.Xml.XmlDocument doc = dp.Document;
&lt;/textarea&gt;</description>
			<category>WPF</category>
			<category>wpf</category>
			<category>XAML</category>
			<category>XmlDataProvider</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/27</guid>
			<comments>http://crowsley2.cafe24.com/entry/How-to-use-XmlDataProvider-from-code-behind-c-code#entry27comment</comments>
			<pubDate>Sat, 07 Mar 2009 23:19:51 +0900</pubDate>
		</item>
		<item>
			<title>How to deploy .net framework 3.5 sp1 with your setup project.</title>
			<link>http://crowsley2.cafe24.com/entry/How-to-deploy-net-framework-35-sp1-with-your-setup-project</link>
			<description>&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Gulim; font-size: 16px; line-height: normal; &quot;&gt;&lt;span class=&quot;style5&quot; style=&quot;font-family: arial; font-size: small; font-weight: bold; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Update the Package Data&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;ol style=&quot;font-family: arial; &quot;&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Open the [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 folder or %ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 on x64 operating systems&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Edit the Product.xml file in Notepad.&lt;/li&gt;&lt;li style=&quot;font-family: arial; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;Paste the following into the &amp;amp;ltPackageFiles&gt; element: &lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;amp;ltPackageFile Name=&quot;TOOLS\clwireg.exe&quot; /&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;amp;ltPackageFile Name=&quot;TOOLS\clwireg_x64.exe&quot; /&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;amp;ltPackageFile Name=&quot;TOOLS\clwireg_ia64.exe&quot; /&gt;&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Find the element for &amp;amp;ltPackageFile Name=&quot;dotNetFX30\XPSEPSC-x86-en-US.exe&quot; and change the PublicKey value to: 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Find the element for &amp;lt;PackageFile Name=&quot;dotNetFX30\XPSEPSC-amd64-en-US.exe&quot; and change the PublicKey value to the same as in step 4 above&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Save the product.xml file &lt;/li&gt;&lt;/ol&gt;&lt;span class=&quot;style5&quot; style=&quot;font-family: arial; font-size: small; font-weight: bold; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Download and Extract the Core Installation Files&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;ol style=&quot;font-family: arial; &quot;&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Navigate to the following URL: http://go.microsoft.com/fwlink?LinkID=118080&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Download the dotNetFx35.exe file to your local disk.&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;Open a Command Prompt window and change to the directory to which you downloaded dotNetFx35.exe.&lt;/li&gt;&lt;li style=&quot;font-family: arial; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;At the command prompt, type: &lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;dotNetFx35.exe /x:. &lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;This will extract the Framework files to a folder named “WCU” in the current directory.&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;font-family: arial; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;Copy the contents of the WCU\dotNetFramework folder and paste them in the %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 folder (%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 on x64 operating systems). Note: Do not copy the WCU\dotNetFramework folder itself. There should be 5 folders under the WCU folder, and each of these should now appear in the DotNetFx35SP1 folder. The folder structure should resemble the following:&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;o DotNetFx35SP1 (folder)&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;ul style=&quot;font-family: arial; &quot;&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;dotNetFX20 (folder&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;dotNetFX30 (folder)&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;dotNetFX35 (folder)&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;dotNetMSP (folder)&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;TOOLS folder)&lt;/li&gt;&lt;li class=&quot;style1&quot; style=&quot;text-align: left;font-family: arial; font-size: small; &quot;&gt;en (or some other localized folder)&lt;/li&gt;&lt;li style=&quot;text-align: left;font-family: arial; &quot;&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;dotNetFx35setup.exe (file)&lt;/span&gt;&lt;/li&gt;&lt;span class=&quot;style1&quot; style=&quot;font-family: arial; font-size: small; &quot;&gt;&lt;ul style=&quot;text-align: left;font-family: arial; &quot;&gt;&lt;br&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: left;&quot;&gt;You may now delete the files and folders you downloaded and extracted in steps 2 and 4.&lt;br&gt;&lt;/div&gt;&lt;/span&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;</description>
			<category>.NET Framework</category>
			<category>.NET Framework 3.5 SP1</category>
			<category>Deployment</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/26</guid>
			<comments>http://crowsley2.cafe24.com/entry/How-to-deploy-net-framework-35-sp1-with-your-setup-project#entry26comment</comments>
			<pubDate>Thu, 05 Mar 2009 14:31:52 +0900</pubDate>
		</item>
		<item>
			<title>How to set  color of a button into default value in WPF</title>
			<link>http://crowsley2.cafe24.com/entry/How-to-set-color-of-a-button-into-default-value-in-WPF</link>
			<description>&lt;h2&gt;How to set color of a button into default value&lt;/h2&gt;
&lt;h3&gt;If you want set color of a button into default, then just use the following code.&lt;br&gt;

&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;c#&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
Button btn = new Button();
btn.Background = 
     (Brush) Button.BackgroundProperty.DefaultMetadata.DefaultValue;
&lt;/textarea&gt;

&lt;/h3&gt;</description>
			<category>WPF</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/22</guid>
			<comments>http://crowsley2.cafe24.com/entry/How-to-set-color-of-a-button-into-default-value-in-WPF#entry22comment</comments>
			<pubDate>Mon, 09 Feb 2009 12:51:47 +0900</pubDate>
		</item>
		<item>
			<title>How to evalulate your code: &quot;Calculate Code Metrics&quot; in Visual Studio 2008</title>
			<link>http://crowsley2.cafe24.com/entry/Calculate-Code-Metrics-in-Visual-Studio-2008-Its-better-to-know-about-it</link>
			<description>&lt;h2&gt;Do you know What is &quot;Calculate Code Metrics&quot; as a new feature of Visual Studio 2008&lt;/h2&gt;
&lt;h3&gt;
&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td align=&quot;left vAlign=&quot; top&quot;=&quot;&quot;&gt;&lt;div class=&quot;imageblock left&quot; style=&quot;float: left; margin-right: 10px;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/3042167978.png&quot; alt=&quot;User image&quot; height=&quot;391&quot; width=&quot;250&quot; /&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td valign=&quot;top&quot;&gt;I have wanted to know how to evaluate my code easily. But It is not easy to buy the solution privately for that. :) Like preparing the exam into University, it helps to enhance our programming skill. Programming and rating it. And we can do it using Visual Studio 2008 easily.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/h3&gt;
&lt;h2&gt;InfoSys posted &quot;Calculate Code Metrics Features in Visual Studio 2008&quot;&lt;/h2&gt;
&lt;h3&gt;It is a good post. It is easy to read and understand about &quot;Calculate Code Metric&quot;. All the thing you have to for &quot;Calculate Code Metric&quot; are just two steps.&lt;br&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size: 13px; line-height: 22px; &quot;&gt;Click Mouse right button on your Visual Studio Solution and select &quot;Calculate Code Metrics&quot;.&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: 13px; line-height: 22px; &quot;&gt;Read five indices, which means the followings&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br&gt;
Meaning of the indices are explained in &lt;a href=&quot;http://infosysblogs.com/microsoft/2008/03/calculate_code_metrics_feature.html&quot;&gt;here&lt;/a&gt;. The summary of that is following.&lt;br&gt; 
&lt;/h3&gt;
&lt;h4&gt;
Maintainability Index: &lt;span style=&quot;font-weight: normal;&quot;&gt;This index tells how maintainable your code is. It is like a total score. Higher the value better your code is.&lt;/span&gt;&lt;br&gt;
Cyclomatic Complexity: &lt;span style=&quot;font-weight: normal;&quot;&gt;This index is calculated at a method level. and it tells how complex the relation between methods in your code is. So lower the value better your code is.&lt;/span&gt;&lt;br&gt;
Depth of Inheritance: &lt;span style=&quot;font-weight: normal;&quot;&gt;This tells the number of base classes. it is good to maintain the number of inheritance appropriately. Infosys recommended to keep this value to 6 or below&lt;/span&gt;&lt;br&gt;
Class Coupling: &lt;span style=&quot;font-weight: normal;&quot;&gt;This number shows the number of classes a particular class depends on. It is better to keep this value lower.&lt;/span&gt;&lt;br&gt;
Lines of Code; &lt;span style=&quot;font-weight: normal;&quot;&gt;It tells the number of lines except white space, comments, braces and so on. So it can shows your daily work.&lt;/span&gt;&lt;br&gt;
&lt;/h4&gt;
&lt;h3&gt;
It is easy, isn&#039;t it? 
&lt;/h3&gt;
</description>
			<category>.NET Framework</category>
			<category>visual studio 2008</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/18</guid>
			<comments>http://crowsley2.cafe24.com/entry/Calculate-Code-Metrics-in-Visual-Studio-2008-Its-better-to-know-about-it#entry18comment</comments>
			<pubDate>Tue, 20 Jan 2009 11:38:21 +0900</pubDate>
		</item>
		<item>
			<title>Window Presentation Foundation (WPF) animated Progressbar with code and xaml</title>
			<link>http://crowsley2.cafe24.com/entry/Window-Presentation-Foundation-WPF-animated-Progressbar-with-code-and-xaml</link>
			<description>&lt;H2&gt;Introduction to WPF Animation&lt;/H2&gt;
&lt;H4&gt;Animation is one of the most fascinating features of Window Presentation Foundation (WPF). To support easy usage of animation, Microsoft release Expression Blend, which is software for WPF designer.If you use Expression Blend, you can draw animation in your program very easily. But to optimize the animation and solve the problem when it occurs, we need to know about how to write WPF Animation in the code and extensible application markup language (XAML).&lt;/H4&gt;
&lt;H2&gt;Three ways to write WPF Animation&lt;/H2&gt;
&lt;H4&gt;&amp;nbsp;&amp;nbsp; 1. With only code. &lt;BR&gt;&amp;nbsp;&amp;nbsp; 2. With only XAML &lt;BR&gt;&amp;nbsp;&amp;nbsp; 3. With both code and XAML &lt;BR&gt;&lt;BR&gt;We can make WPF application with only code, or with only XAML. To make application with only code enables most flexible logic, but it needs more times than the others. In other case, with only XAML, we can make it easily, but its flexibility is low. So, at usually, animation with both code and XAML is widely used. In this article, we will study about how to write WPF animation with both code and XAML. It is most flexible way; we can modify it in both sides. In the XAML side, we will define UI Component, and Animation with the UI is declared in the Code.&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/5912701178.png&quot; alt=&quot;User image&quot; height=&quot;300&quot; width=&quot;500&quot; /&gt;&lt;/div&gt; &lt;BR&gt;This diagram shows three steps to do WPF animation. First, UI components like slider and progress bar are declared in the XAML. Second, Callback function (event function) is declared in the code. Third, WPF animation about progress bar is written in the function. Let&#039;s do animated WPF Progress bar.&lt;/H4&gt;
&lt;H5&gt;1. Create a new project and modify UI to have a slider and a progress bar. slider has a ValueChanged event. In the callback function of that event, we will make WPF animation about the progress bar.&lt;/H5&gt;
&lt;H5&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;&amp;lt;Window x:Class=&quot;AnimatedProgressbar.Window1&quot;&lt;BR&gt;&lt;FONT color=#8e8e8e&gt;&amp;nbsp; &amp;nbsp; xmlns=&quot;&lt;/FONT&gt;&lt;a href=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;&gt;http://schemas.microsoft.com/winfx/2006 &amp;middot;&amp;middot;&amp;middot; entation&lt;/a&gt;&lt;FONT color=#8e8e8e&gt;&quot;&lt;BR&gt;&amp;nbsp; &amp;nbsp; xmlns:x=&quot;&lt;/FONT&gt;&lt;a href=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&gt;&lt;FONT color=#8e8e8e&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/FONT&gt;&lt;/a&gt;&lt;FONT color=#8e8e8e&gt;&quot;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; Title=&quot;Animated Progress Bar&quot; Height=&quot;100&quot; Width=&quot;300&quot;&amp;gt;&lt;BR&gt;&lt;FONT color=#ff0000&gt;&amp;lt;StackPanel&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Slider Name=&quot;slider&quot;&amp;nbsp; Minimum=&quot;0&quot; Maximum=&quot;100&quot;&lt;BR&gt;ValueChanged=&quot;slider_ValueChanged&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ProgressBar Name=&quot;progressBar&quot; Height=&quot;30&quot; Minimum=&quot;0&quot; Maximum=&quot;100&quot;/&amp;gt;&lt;BR&gt;&amp;lt;/StackPanel&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&amp;lt;/Window&amp;gt;&lt;/DIV&gt;&lt;/H5&gt;
&lt;H5&gt;2. Declare WPF animation to the slider bar. &lt;/H5&gt;
&lt;H5 style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;using System;&lt;BR&gt;using System.Collections.Generic;&lt;BR&gt;using System.Linq;&lt;BR&gt;using System.Text;&lt;BR&gt;using System.Windows;&lt;BR&gt;using System.Windows.Controls;&lt;BR&gt;using System.Windows.Data;&lt;BR&gt;using System.Windows.Documents;&lt;BR&gt;using System.Windows.Input;&lt;BR&gt;using System.Windows.Media;&lt;BR&gt;using System.Windows.Media.Imaging;&lt;BR&gt;using System.Windows.Navigation;&lt;BR&gt;using System.Windows.Shapes;&lt;BR&gt;&lt;FONT color=#ff0000&gt;using System.Windows.Media.Animation;&lt;/FONT&gt;&lt;BR&gt;namespace AnimatedProgressbar&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; &amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; /// Interaction logic for Window1.xaml&lt;BR&gt;&amp;nbsp; &amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; public partial class Window1 : Window&lt;BR&gt;&amp;nbsp; &amp;nbsp; {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Window1()&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent();&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;FONT color=#ff0000&gt;private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs&amp;lt;double&amp;gt; e)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DoubleAnimation animation = new DoubleAnimation(e.NewValue, new Duration(TimeSpan.FromSeconds(4)));&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Storyboard.SetTargetName(animation, &quot;progressBar&quot;);&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Storyboard.SetTargetProperty(animation, new PropertyPath(ProgressBar.ValueProperty));&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Storyboard sb = new Storyboard();&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sb.Children.Add(animation);&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sb.Begin(progressBar);&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.Handled = true;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp; &amp;nbsp; }&lt;BR&gt;}&lt;/H5&gt;
&lt;H5&gt;Animation is defined in the namespace, &quot;System.Windows.Media.Animation&quot;, we need to add the namespace into the code. Callback function to ValueChanged event of the slider is painted with red color. In the function, we have to define animation with destination value and duration firstly. And then, let&#039;s attach the animation into the target. In this case, the target is ProgressBar. We can set the target with its name, &quot;progressBar&quot;, defined in the XAML. Nextly, we need to choose property of the target, which will be animated. In this examples, Value property is chosen.Now, we declare Storyboard object which has the animation, and then begin it. we can see the animated progress bar.&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/7028368164.png&quot; alt=&quot;User image&quot; height=&quot;100&quot; width=&quot;300&quot; /&gt;&lt;/div&gt;&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/8480959439.png&quot; alt=&quot;User image&quot; height=&quot;100&quot; width=&quot;300&quot; /&gt;&lt;/div&gt;&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/4343229280.png&quot; alt=&quot;User image&quot; height=&quot;100&quot; width=&quot;300&quot; /&gt;&lt;/div&gt;&lt;/H5&gt;
&lt;H4&gt;I hope this article will be helpful.&lt;/H4&gt;</description>
			<category>WPF</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/15</guid>
			<comments>http://crowsley2.cafe24.com/entry/Window-Presentation-Foundation-WPF-animated-Progressbar-with-code-and-xaml#entry15comment</comments>
			<pubDate>Wed, 22 Oct 2008 03:28:35 +0900</pubDate>
		</item>
		<item>
			<title>How to write data binding between code and xaml in WPF</title>
			<link>http://crowsley2.cafe24.com/entry/How-to-write-data-binding-between-code-and-xaml-in-WPF</link>
			<description>&lt;P&gt;The most example of data binding is about binding between WPF controls. For example, it is &amp;nbsp;data binding between value of slider and font size of textbox. But after knowing this, we want to know how to declare data binding between code and xaml.&lt;BR&gt;&lt;BR&gt;In this article, we will see one of most simple example of data binding between code and xaml. Through this example, you can take first look about data binding between code and xaml.&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(142,142,142)&quot;&gt;Before reading this article, you must understand basic of data binding, like &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;SPAN style=&quot;COLOR: rgb(142,142,142)&quot;&gt;DataContext&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: rgb(142,142,142)&quot;&gt;, &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;SPAN style=&quot;COLOR: rgb(142,142,142)&quot;&gt;Path&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: rgb(142,142,142)&quot;&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;The data binding between code and xaml is following.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;First, Create new Project file and add new class named &quot;Data&quot;.&lt;BR&gt;&lt;/H3&gt;
&lt;P&gt;[##_1C|9770339687.png|width=&quot;600&quot; height=&quot;359&quot; alt=&quot;Create Data class&quot;|This Class is used for handling data which will be binded into xaml._##]&lt;BR&gt;&lt;/P&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(0,0,255)&quot;&gt;// Data.cs&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;using System;&lt;/P&gt;
&lt;P&gt;using System.Collections.Generic;&lt;/P&gt;
&lt;P&gt;using System.Linq;&lt;/P&gt;
&lt;P&gt;using System.Text;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;using System.Windows;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;namespace EasyDataBinding&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;public &lt;/SPAN&gt;class Data : &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;DependencyObject&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;public double FontSize&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;get { return (double)GetValue(FontSizeProperty); }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set { SetValue(FontSizeProperty, value); }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Using a DependencyProperty as the backing store for FontSize. &amp;nbsp;This enables animation, styling, binding, etc...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static readonly DependencyProperty FontSizeProperty = DependencyProperty.Register(&quot;FontSize&quot;, typeof(double), typeof(Data), new UIPropertyMetadata(10.0));&lt;/SPAN&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;Newly added codes are painted with Red color. Dependency property supports two-way data binding naturally, so using dependency property is easy for data binding. For using dependency property, Data class is derived from DependencyObject.&lt;/P&gt;
&lt;H3&gt;Second, connect the Data object into DataContext in the codes of main window.&lt;BR&gt;&lt;/H3&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(0,0,255)&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;// Window1.xaml.cs&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Collections.Generic;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Linq;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Text;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Controls;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Data;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Documents;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Input;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Media;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Media.Imaging;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Navigation;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;using System.Windows.Shapes;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;namespace EasyDataBinding&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// Interaction logic for Window1.xaml&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public partial class Window1 : Window&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Window1()&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InitializeComponent();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.DataContext = new Data(); // connect the data object into the datacontext of the window&lt;/SPAN&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: small&quot;&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;H3&gt;Third, Let&#039;s declare data binding in xaml.&lt;BR&gt;&lt;/H3&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;
&lt;P&gt;&amp;lt;Window x:Class=&quot;EasyDataBinding.Window1&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Title=&quot;Window1&quot; Height=&quot;300&quot; Width=&quot;300&quot;&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;Grid&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;Grid.RowDefinitions&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/Grid.RowDefinitions&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;lt;Slider Grid.Row=&quot;0&quot; Value=&quot;{Binding Path=FontSize}&quot; Minimum=&quot;10&quot; Maximum=&quot;50&quot;&amp;gt;&amp;lt;/Slider&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextBlock Grid.Row=&quot;1&quot; Text=&quot;Hi, My name is SunKwon Kim&quot; FontSize=&quot;{Binding Path=FontSize}&quot;&amp;gt;&amp;lt;/TextBlock&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/Grid&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/Window&amp;gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;Now we can see the result of data binding by running the program. Let&#039;s click F5 key, then see the result.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;[##_1C|5593786112.png|width=&quot;300&quot; height=&quot;300&quot; alt=&quot;User image&quot;|_##][##_1C|1762542081.png|width=&quot;300&quot; height=&quot;300&quot; alt=&quot;User image&quot;|_##]&lt;/DIV&gt;</description>
			<category>WPF</category>
			<category>Data binding</category>
			<category>wpf</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/14</guid>
			<comments>http://crowsley2.cafe24.com/entry/How-to-write-data-binding-between-code-and-xaml-in-WPF#entry14comment</comments>
			<pubDate>Mon, 20 Oct 2008 01:05:09 +0900</pubDate>
		</item>
		<item>
			<title>You must use Source Control like TortoiseSVN</title>
			<link>http://crowsley2.cafe24.com/entry/You-must-use-Source-Control-like-TortoiseSVN</link>
			<description>&lt;P&gt;It is a day near I join a company. I had written codes for new software all day. And near the time I went out, I saw the blue screen in the computer. I grabbed my head and banging it. I feel I was going to be mad. Well, everybody who writes codes has one or two experiences like that. :)&lt;BR&gt;&lt;BR&gt;So I strongly recommend using source control tool to you. If you use the source control, someday you wil appreciate it. It handles source code history and solves conflict of source code between co-workers. It can save our time which is maybe lost, if we doesn&#039;t use it. So I strongly recommend using it again.&lt;BR&gt;&lt;BR&gt;There are three source controls widely used in the world, &lt;STRONG&gt;tortoiseSVN, source safe&lt;/STRONG&gt; and &lt;STRONG&gt;CVS.&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/3934657236.png&quot; alt=&quot;User image&quot; height=&quot;64&quot; width=&quot;468&quot; /&gt;&lt;/div&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;tortoiseSVN&lt;/STRONG&gt; is fast, easy and free. so it is widely used as time goes. And there is a brother tool, VisualSVN. If you want to handle tortoiseSVN in Visual Studio, you can do it with VisualSVN, but it is not free. Its price is 49$ per one person. :) It is very handy and useful in Visual Studio.&lt;BR&gt;&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://www.wpfstory.com/attach/1/1578393467.jpg&quot; alt=&quot;User image&quot; height=&quot;243&quot; width=&quot;518&quot; /&gt;&lt;/div&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Source safe&lt;/STRONG&gt; is provided from Microsoft. If the company you work for have purchased MSDN subscription license, maybe you can use it. It is not free :)&lt;BR&gt;&lt;BR&gt;At last, I don&#039;t have used &lt;STRONG&gt;CVS&lt;/STRONG&gt; before. I am sorry for that. But there is many person using CVS.&lt;BR&gt;&lt;BR&gt;Amit posted &quot;&lt;a href=&quot;http://www.dev102.com/2008/10/07/how-to-use-the-svn-client-and-start-working-with-your-subversion-version-control/&quot;  target=_blank&gt;How To Use SVN Client and Start Working With Your SubVersion Control&lt;/a&gt;&quot; in his blog. He wrote Quick guide for SVN, it will be helpful to use tortoiseSVN firstly. And you can download it in &lt;a href=&quot;http://tortoisesvn.net/&quot;  target=_blank&gt;tortoiseSVN.NET&lt;/a&gt;.&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;</description>
			<category>Talk</category>
			<category>source control</category>
			<category>Source safe</category>
			<category>tortoiseSVN</category>
			<author>(SunKwon Kim)</author>
			<guid>http://crowsley2.cafe24.com/13</guid>
			<comments>http://crowsley2.cafe24.com/entry/You-must-use-Source-Control-like-TortoiseSVN#entry13comment</comments>
			<pubDate>Wed, 15 Oct 2008 01:10:36 +0900</pubDate>
		</item>
	</channel>
</rss>
