<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.net ready !!! : .NET </title><link>http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx</link><description>Tags: .NET </description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Add easing effects on your animations with WPF 4 easing functions</title><link>http://blogs.msdn.com/maximelamure/archive/2009/11/10/add-easing-effects-on-your-animations-with-wpf-4-easing-functions.aspx</link><pubDate>Tue, 10 Nov 2009 21:02:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920423</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/9920423.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=9920423</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=9920423</wfw:comment><description>&lt;p&gt;One of the new features of WPF 4 is the presence of easing functions. Already available with Silverlight 3, these functions allow you to play with acceleration or deceleration on your animations. The following sample illustrates how to add elastic behavior on image size animation. &lt;/p&gt;  &lt;p&gt;&amp;lt;Image x:Name=&amp;quot;MyImage&amp;quot; Source=&amp;quot;Desert.jpg&amp;quot; Width=&amp;quot;100&amp;quot; Height=&amp;quot;100&amp;quot; Stretch=&amp;quot;UniformToFill&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Image.Triggers&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;EventTrigger RoutedEvent=&amp;quot;Image.MouseLeftButtonDown&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;BeginStoryboard&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Storyboard&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;DoubleAnimation     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Storyboard.TargetName=&amp;quot;MyImage&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Storyboard.TargetProperty=&amp;quot;Width&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; From=&amp;quot;100&amp;quot; To=&amp;quot;200&amp;quot; Duration=&amp;quot;0:0:1&amp;quot; &amp;gt;     &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#004080"&gt;&amp;lt;DoubleAnimation.EasingFunction&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ElasticEase Oscillations=&amp;quot;3&amp;quot; EasingMode=&amp;quot;EaseOut&amp;quot;/&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/DoubleAnimation.EasingFunction&amp;gt;&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/DoubleAnimation&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;DoubleAnimation     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Storyboard.TargetName=&amp;quot;MyImage&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Storyboard.TargetProperty=&amp;quot;Height&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; From=&amp;quot;100&amp;quot; To=&amp;quot;200&amp;quot; Duration=&amp;quot;0:0:1&amp;quot; &amp;gt;&amp;#160; &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#004080"&gt;&amp;#160; &amp;lt;DoubleAnimation.EasingFunction&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ElasticEase Oscillations=&amp;quot;3&amp;quot; EasingMode=&amp;quot;EaseOut&amp;quot;/&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/DoubleAnimation.EasingFunction&amp;gt;&lt;/font&gt;&amp;#160; &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/DoubleAnimation&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Storyboard&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/BeginStoryboard&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/EventTrigger&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Image.Triggers&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Image&amp;gt;&lt;/p&gt;  &lt;p&gt;An easing function applies formula to obtain an acceleration or deceleration effect. A “mode” option allows you to set when to apply the formula: at the beginning (EaseIn), at the end (EaseOut) or both (EaseInOut).&lt;/p&gt;  &lt;p&gt;For our sample, the following graph demonstrates the different values of EasingMode, where f(t) represents the animation progress and t represents time (msdn source).&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/Ajouterdeseffetsdacclrationsurvosanimati_13BBE/clip_image001_2.gif" /&gt;&lt;/p&gt;  &lt;p&gt;By default, WPF 4 contains the following functions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;BackEase &lt;/li&gt;    &lt;li&gt;BounceEase &lt;/li&gt;    &lt;li&gt;CircleEase &lt;/li&gt;    &lt;li&gt;CubicEase &lt;/li&gt;    &lt;li&gt;ElasticEase &lt;/li&gt;    &lt;li&gt;ExponentialEase &lt;/li&gt;    &lt;li&gt;ExponentialEase &lt;/li&gt;    &lt;li&gt;PowerEase &lt;/li&gt;    &lt;li&gt;QuadraticEase &lt;/li&gt;    &lt;li&gt;QuarticEase &lt;/li&gt;    &lt;li&gt;QuinticEase &lt;/li&gt;    &lt;li&gt;SineEase &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more information about easing functions: &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.easingmode(VS.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.media.animation.easingmode(VS.100).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The source code is available here:&lt;/p&gt; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-9c20abe60affc115.skydrive.live.com/embedicon.aspx/Public/TestEasing.zip" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920423" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Ajouter des effets d’accélération sur vos animations avec les « easing functions » de WPF4</title><link>http://blogs.msdn.com/maximelamure/archive/2009/10/31/ajouter-des-effets-d-acc-l-ration-sur-vos-animations-avec-les-easing-function-de-wpf4.aspx</link><pubDate>Sat, 31 Oct 2009 21:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9915727</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/9915727.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=9915727</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=9915727</wfw:comment><description>&lt;P&gt;Une des nouveautés de WPF 4 est la présence des « easing functions ». Déjà présentes avec Silverlight 3, ces fonctions permettent de jouer sur les effets d’accélération de vos animations. L’exemple ci-dessous permet, par exemple, d’ajouter un effet élastique lors de l’agrandissement d’une image :&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;Image x:Name="MyImage" Source="Desert.jpg" Width="100" Height="100" Stretch="UniformToFill"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Image.Triggers&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EventTrigger RoutedEvent="Image.MouseLeftButtonDown"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BeginStoryboard&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Storyboard&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DoubleAnimation &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storyboard.TargetName="MyImage" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storyboard.TargetProperty="Width" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From="100" To="200" Duration="0:0:1" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#004080&gt;&lt;STRONG&gt;&amp;nbsp; &amp;lt;DoubleAnimation.EasingFunction&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ElasticEase Oscillations="3" EasingMode="EaseOut"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DoubleAnimation.EasingFunction&amp;gt;&lt;/STRONG&gt; &lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DoubleAnimation&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DoubleAnimation &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storyboard.TargetName="MyImage" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storyboard.TargetProperty="Height" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From="100" To="200" Duration="0:0:1" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#004080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#004080&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DoubleAnimation.EasingFunction&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ElasticEase Oscillations="3" EasingMode="EaseOut"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DoubleAnimation.EasingFunction&amp;gt;&amp;nbsp; &lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&amp;lt;/DoubleAnimation&amp;gt; &lt;FONT color=#004080&gt;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Storyboard&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/BeginStoryboard&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/EventTrigger&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Image.Triggers&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Image&amp;gt;&lt;/P&gt;
&lt;P&gt;Une « easing function » applique une formule afin d’obtenir un effet d’accélération ou de décélération. Un mode permet de spécifier à quel moment est appliquée la formule : au début (EaseIn), à la fin (EaseOut) ou les deux (EaseInOut).&lt;/P&gt;
&lt;P&gt;Pour notre exemple, voici les courbes correspondantes avec f(t) qui représente la progression de l’animation et t le temps (source msdn). &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/Ajouterdeseffetsdacclrationsurvosanimati_13BBE/clip_image001_2.gif" mce_href="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/Ajouterdeseffetsdacclrationsurvosanimati_13BBE/clip_image001_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image001 border=0 alt=clip_image001 src="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/Ajouterdeseffetsdacclrationsurvosanimati_13BBE/clip_image001_thumb.gif" width=644 height=125 mce_src="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/Ajouterdeseffetsdacclrationsurvosanimati_13BBE/clip_image001_thumb.gif"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Voici la liste des fonctions disponibles:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;BackEase &lt;/LI&gt;
&lt;LI&gt;BounceEase &lt;/LI&gt;
&lt;LI&gt;CircleEase &lt;/LI&gt;
&lt;LI&gt;CubicEase &lt;/LI&gt;
&lt;LI&gt;ElasticEase &lt;/LI&gt;
&lt;LI&gt;ExponentialEase &lt;/LI&gt;
&lt;LI&gt;ExponentialEase &lt;/LI&gt;
&lt;LI&gt;PowerEase &lt;/LI&gt;
&lt;LI&gt;QuadraticEase &lt;/LI&gt;
&lt;LI&gt;QuarticEase &lt;/LI&gt;
&lt;LI&gt;QuinticEase &lt;/LI&gt;
&lt;LI&gt;SineEase &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Pour plus d’informations sur ces fonctions : &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.easingmode(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.easingmode(VS.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.media.animation.easingmode(VS.100).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Le code source est dispo ici : &lt;/P&gt;&lt;IFRAME style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 98px; PADDING-RIGHT: 0px; HEIGHT: 115px; PADDING-TOP: 0px" title=Preview marginHeight=0 src="http://cid-9c20abe60affc115.skydrive.live.com/embedicon.aspx/Public/TestEasing.zip" frameBorder=0 marginWidth=0 scrolling=no mce_src="http://cid-9c20abe60affc115.skydrive.live.com/embedicon.aspx/Public/TestEasing.zip"&gt;&lt;/IFRAME&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915727" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Partage de ressources entre Silverlight et Windows Presentation Foundation</title><link>http://blogs.msdn.com/maximelamure/archive/2009/07/23/partage-de-ressources-entre-silverlight-et-windows-presentation-foundation.aspx</link><pubDate>Thu, 23 Jul 2009 16:23:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9846302</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/9846302.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=9846302</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=9846302</wfw:comment><description>&lt;p&gt;Cet article, coécrit avec Luc VoVan (&lt;a href="http://blogs.msdn.com/luc"&gt;http://blogs.msdn.com/luc&lt;/a&gt;), présente différentes solutions liées aux problèmes de partage de ressources et de code source entre une application WPF et Silverlight.&lt;/p&gt;  &lt;p&gt;N’hésitez pas à donner votre avis sur cet article ou partager votre retour d’expérience.&lt;/p&gt;  &lt;p&gt;Lien direct pour le télécharger :&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;iframe style="border-bottom: #dde5e9 1px solid; border-left: #dde5e9 1px solid; padding-bottom: 0px; background-color: #ffffff; margin: 3px; padding-left: 0px; width: 240px; padding-right: 0px; height: 66px; border-top: #dde5e9 1px solid; border-right: #dde5e9 1px solid; padding-top: 0px" marginheight="0" src="http://cid-9c20abe60affc115.skydrive.live.com/embedrowdetail.aspx/Public/Partage%20de%20ressources%20entre%20Silverlight%20et%20Windows%20Presentation%20Foundation.doc" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9846302" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/SilverLight/default.aspx">SilverLight</category></item><item><title>WF: How to add your own task in the workflow runtime engine batching mechanism ?</title><link>http://blogs.msdn.com/maximelamure/archive/2007/06/22/how-to-add-your-own-task-in-the-workflow-runtime-engine-batching-mechanism.aspx</link><pubDate>Sat, 23 Jun 2007 00:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3468310</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/3468310.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=3468310</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=3468310</wfw:comment><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The goal of this post is to describe the mechanism to create and add your own service in the workflow runtime engine. 
&lt;P&gt;Situation: You would like that each time the SqlWorkflowPersistenceService is called by the workflow runtime, it call your own service, in a transactional scope (if your service or the persistence service failed, a rollback is apply). 
&lt;H5&gt;1: You have to create your service: &lt;/H5&gt;
&lt;P&gt;Create a class (in a separate project) wich implements IPendingWork. Add reference of this project in the host and workflow project.&lt;/P&gt;
&lt;P&gt;namespace TransactionalService&lt;BR&gt;{&lt;BR&gt;public class TransactionalService : IPendingWork&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp; void IPendingWork.Commit(System.Transactions.Transaction transaction, ICollection items)&lt;BR&gt;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (MyExternalDataEventArgs request in items)&lt;BR&gt;&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;&amp;nbsp;&amp;nbsp; Console.WriteLine(request.Commande.Nom);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; bool IPendingWork.MustCommit(ICollection items)&lt;BR&gt;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; void IPendingWork.Complete(bool succeeded, ICollection items)&lt;BR&gt;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(succeeded);&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;H5&gt;2: Add your service in the workflowruntime&lt;/H5&gt;
&lt;P&gt;In your Host: 
&lt;P&gt;… &lt;BR&gt;workflowRuntime.AddService(new TransactionalService.TransactionalService());&lt;BR&gt;workflowRuntime.StartRuntime(); 
&lt;H5&gt;3: add your pending work items to the current work batch&lt;/H5&gt;
&lt;P&gt;In your Workflow:&lt;/P&gt;
&lt;P&gt;TransactionalService.TransactionalService service = new TransactionalService.TransactionalService(); //Or by the getService() 
&lt;P&gt;WorkflowEnvironment.WorkBatch.Add(service, MyArgs); 
&lt;P&gt;When the runtime engine batching will be executed, he will call all services which implements IPendingWork (SqlTrackingService, SqlWorkflowPersistenceService and you service):&lt;BR&gt;1: MustCommit (check if you want the method Commit will be called) ,&lt;BR&gt;2: if yes, he will call Commit method, &lt;BR&gt;3: The complete method allow us to know the state of the process. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3468310" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WF/default.aspx">WF</category></item><item><title>WCF Performance comparison article</title><link>http://blogs.msdn.com/maximelamure/archive/2007/04/03/wcf-performance-comparison-article.aspx</link><pubDate>Tue, 03 Apr 2007 11:43:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2016662</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/2016662.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=2016662</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=2016662</wfw:comment><description>&lt;p&gt;Even if i find this article not completed ( no comparison with WSE 3.0, Java WS ...) , this article is a good overview about WCF performances with Microsoft technologies. &lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb310550.aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb310550.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2016662" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WCF/default.aspx">WCF</category></item><item><title>How to: Callback function with WCF</title><link>http://blogs.msdn.com/maximelamure/archive/2007/03/19/how-to-callback-function-with-wcf.aspx</link><pubDate>Mon, 19 Mar 2007 21:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1914102</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/1914102.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=1914102</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=1914102</wfw:comment><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The goal is to inform the client that the server process has progressed: &lt;/P&gt;
&lt;P&gt;Situation: You have to update a lot of data on the server. You can use a web Service which will update your database. Each time a field is updated, the server can inform the client with the callback function. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Code on the Server side:&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;Add an interface : 
&lt;P&gt;&lt;EM&gt;public interface IProgress&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; [OperationContract(IsOneWay = true)]&lt;BR&gt;&amp;nbsp; void Update(int value);&lt;BR&gt;}&lt;/EM&gt; 
&lt;P&gt;Call the methode when you want to inform the client: 
&lt;P&gt;&lt;EM&gt;public boolean TransferMoney(int[] values)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; IProgress iProgress = OperationContext.Current.GetCallbackChannel&amp;lt;IProgress&amp;gt;();&lt;BR&gt;&amp;nbsp; int val;&lt;BR&gt;&amp;nbsp; foreach (val in values)&lt;BR&gt;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iProgress.Update(val);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpdateData(val); //Update the database&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; return true;&lt;BR&gt;}&lt;/EM&gt; 
&lt;P&gt;And change your Service Contract: 
&lt;P&gt;&lt;EM&gt;[ServiceContract(CallbackContract=typeof(IProgress), SessionMode=SessionMode.Required)]&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Code on the Client side:&lt;/STRONG&gt; 
&lt;P&gt;Create the class which implements the&amp;nbsp;Interface and add the method which&amp;nbsp;will be called by the server 
&lt;P&gt;&lt;EM&gt;class Handler : IBankingServiceCallback&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; public void Update(int value)&lt;BR&gt;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(“DataBase updated with: ”+value);&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;}&lt;/EM&gt; 
&lt;P&gt;Change the call of the proxy with the InstanceContext in Parameter: 
&lt;P&gt;&lt;EM&gt;MyProxy proxy = new MyProxy (new InstanceContext(new Handler()));&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1914102" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Entreprise Library 3.0 January 2007 CTP</title><link>http://blogs.msdn.com/maximelamure/archive/2007/01/22/entreprise-library-3-0-january-2007-ctp.aspx</link><pubDate>Mon, 22 Jan 2007 15:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507669</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/1507669.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=1507669</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=1507669</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/EntrepriseLibrary3.0January2007CTP_BE5C/pattern%5B2%5D.jpg" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/EntrepriseLibrary3.0January2007CTP_BE5C/pattern%5B2%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 10px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=69 src="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/EntrepriseLibrary3.0January2007CTP_BE5C/pattern_thumb.jpg" width=240 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/EntrepriseLibrary3.0January2007CTP_BE5C/pattern_thumb.jpg"&gt;&lt;/A&gt;The January 2007 CTP of the Entreprise Library 3.0&amp;nbsp;has just been release. You can download it &lt;A href="http://www.codeplex.com/entlib" mce_href="http://www.codeplex.com/entlib"&gt;here&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1507669" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category></item><item><title>My Installation Guidance of the Web Client Software Factory on Windows Vista</title><link>http://blogs.msdn.com/maximelamure/archive/2007/01/21/my-installation-guidance-of-the-web-client-software-factory-on-windows-vista.aspx</link><pubDate>Sun, 21 Jan 2007 23:07:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1503993</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/1503993.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=1503993</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=1503993</wfw:comment><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;My Installation Guidance of the Web Client Software Factory on Windows Vista &lt;p&gt;The Web Client Software Factory brings you installation documentation. However, when I decided to install it on Vista, I noticed some difference/ problems. So this version is the merger between the official documentation and my experience. I post here only the installation section. You can find the whole installation guidance with this &lt;a href="http://maxime.lamure.free.fr/My%20Installation%20Guidance%20of%20the%20Web%20Client%20Software%20Factory%20on%20Windows%20Vista.doc"&gt;link&lt;/a&gt;: (the content of the environment configuration section is the same plus some screenshots)  &lt;h3&gt;Installation&lt;/h3&gt; &lt;h4&gt;I: Guidance automation&lt;/h4&gt; &lt;h5&gt;Install: &lt;/h5&gt; &lt;p&gt;Extension: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C0A394C0-5EEB-47C4-9F7B-71E51866A7ED&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C0A394C0-5EEB-47C4-9F7B-71E51866A7ED&amp;amp;displaylang=en&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;Toolkit: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E3D101DB-6EE1-4EC5-884E-97B27E49EAAE&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=E3D101DB-6EE1-4EC5-884E-97B27E49EAAE&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt; &lt;h5&gt;WatchOut:&lt;/h5&gt; &lt;p&gt;1. You may have error with the toolkit setup. Use a command.bat with “msiexec /I path.msi” inside and run it with administrator mode. &lt;br&gt;2. Close all VS instance for Extension and Toolit setup (devenv.exe process) &lt;h6&gt;Reminder:&amp;nbsp;&lt;/h6&gt; &lt;p&gt;Guidance Automation Extensions allow to run a guidance package &lt;br&gt;Guidance Automation toolkit allow you to create / modify a package (need the library) &lt;h4&gt;&lt;/h4&gt; &lt;h4&gt;II: Install .NET 3.0 and Windows Workflow&lt;/h4&gt; &lt;p&gt;Framework 3.0: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en&lt;/a&gt; &lt;p&gt;WorkFlow:&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5C080096-F3A0-4CE4-8830-1489D0215877&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=5C080096-F3A0-4CE4-8830-1489D0215877&amp;amp;displaylang=en&lt;/a&gt; &lt;h4&gt;&lt;/h4&gt; &lt;h4&gt;III: Enterprise Library 2.0&lt;/h4&gt; &lt;h5&gt;Install:&lt;/h5&gt; &lt;p&gt;Entreprise Library: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5A14E870-406B-4F2A-B723-97BA84AE80B5&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=5A14E870-406B-4F2A-B723-97BA84AE80B5&amp;amp;displaylang=en&lt;br&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Copy these dlls in SourceCode\Microsoft.Practices\EnterpriseLibrary:&lt;br&gt;&lt;br&gt;Microsoft.Practices.ObjectBuilder.dll&lt;br&gt;Microsoft.Practices.EnterpriseLibrary.Security.dll&lt;br&gt;Microsoft.Practices.EnterpriseLibrary.Logging.dll&lt;br&gt;Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.dll&lt;br&gt;Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll&lt;br&gt;Microsoft.Practices.EnterpriseLibrary.Data.dll&lt;br&gt;Microsoft.Practices.EnterpriseLibrary.Common.dll&lt;/p&gt; &lt;h4&gt;IV: The Web Client Package&lt;/h4&gt; &lt;h5&gt;Install:&lt;/h5&gt; &lt;p&gt;Le package "Web Client Development":&lt;br&gt;&lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Using%20the%20Web%20Client%20Software%20Development%20Package"&gt;http://www.codeplex.com/websf/Wiki/View.aspx?title=Using%20the%20Web%20Client%20Software%20Development%20Package&lt;/a&gt; &lt;h5&gt;Watch out:&lt;/h5&gt; &lt;p&gt;Install this package in C:\ folder otherwise, you will have some problem about length of directory’s name&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1503993" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/Software+Factory/default.aspx">Software Factory</category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category></item><item><title>ClickOnce &amp; WCF</title><link>http://blogs.msdn.com/maximelamure/archive/2006/09/21/clickonce-wcf.aspx</link><pubDate>Thu, 21 Sep 2006 11:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:764348</guid><dc:creator>Maxime LAMURE</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maximelamure/comments/764348.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maximelamure/commentrss.aspx?PostID=764348</wfw:commentRss><wfw:comment>http://blogs.msdn.com/maximelamure/rsscomments.aspx?PostID=764348</wfw:comment><description>&lt;P&gt;A good feedback from Matias Woloski about Click Once and WCF :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://staff.southworks.net/blogs/matiaswoloski/archive/2006/04/06/ClickonceWCF.aspx" mce_href="http://staff.southworks.net/blogs/matiaswoloski/archive/2006/04/06/ClickonceWCF.aspx"&gt;http://staff.southworks.net/blogs/matiaswoloski/archive/2006/04/06/ClickonceWCF.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=764348" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maximelamure/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/ClickOnce/default.aspx">ClickOnce</category><category domain="http://blogs.msdn.com/maximelamure/archive/tags/WCF/default.aspx">WCF</category></item></channel></rss>