<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://xceed.com/CS/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>XAML Hero</title><link>http://xceed.com/CS/blogs/xamlhero/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Debug Build: 61120.2)</generator><item><title>Xceed at Mix10!</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2010/03/02/xceed-at-mix10.aspx</link><pubDate>Tue, 02 Mar 2010 18:24:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:25982</guid><dc:creator>Matt</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/25982.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=25982</wfw:commentRss><description>&lt;P&gt;Feels like not too long ago I was writing about Xceed going to &lt;A href="http://xceed.com/CS/blogs/xamlhero/archive/2009/03/13/mix09.aspx"&gt;Mix09&lt;/A&gt; and here we are a year later, ready to go to Mix10! We are all very excited about the announcements that will be made in regards to Windows Phone 7 Series development and are looking forward to some announcements about Silverlight's future as well. And who knows, maybe even WPF? Come on Microsoft, give WPF some love! :). &lt;/P&gt;
&lt;P&gt;That said, if you catch Cat, Odi, Charles, or myself at the event and have questions about our products, don't be shy and come talk to us! We'll be staying at the Mandalay Bay hotel and will try to be part of social events there. You can check us out as usual on twitter (&lt;A href="http://twitter.com/mattd1980"&gt;@MattD1980&lt;/A&gt; &lt;A href="http://twitter.com/Cattatatow"&gt;@Cattatatow&lt;/A&gt; &lt;A href="http://www.twitter.com/kosmatos"&gt;@Kosmatos&lt;/A&gt;) to see where we're hanging out.&lt;/P&gt;
&lt;P&gt;I hope the keynotes and sessions this year will be as inspiring as last year. Mix09 by far surpassed my expectations and it would seem that even more is brewing in Microsoft's lair. I still have to fill my schedule with the sessions I will be attending. So much to learn, so little time!&lt;/P&gt;
&lt;P&gt;See you there and don't hesitate to contact us if you want to meet up!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG src="http://xceed.com/CS/blogs/xamlhero/BlogPostCatMatMix2010_6.png"&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=25982" width="1" height="1"&gt;</description></item><item><title>Xceed Professional Themes for WPF - 2 New Themes!</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2010/02/19/xceed-pro-themes-for-wpf-2-new-themes.aspx</link><pubDate>Fri, 19 Feb 2010 20:39:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:25875</guid><dc:creator>Matt</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/25875.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=25875</wfw:commentRss><description>&lt;P&gt;The upcoming release of &lt;A href="http://xceed.com/ProThemes_WPF_Intro.html" target=_blank&gt;Xceed Professional Themes for WPF&lt;/A&gt; will be our biggest update to the product since it was released last year. The latest incarnation of &lt;A href="http://xceed.com/Grid_WPF_Intro.html" target=_blank&gt;Xceed DataGrid for WPF&lt;/A&gt; brought a Windows 7 inspired theme as well as the Live Explorer theme to the table. Both these themes will now be available in the next version of Xceed Professional Themes for WPF.&lt;/P&gt;
&lt;P&gt;So let's talk about the Live Explorer theme. When we first created our Xceed DataGrid for WPF Live Explorer we wanted to have a branded theme that would demonstrate how much of our product you could "re-style". At the time we didn't offer it as an available theme since we thought it would be too specific to our application. Boy, did we guess wrong on that one! Many of you responded very well to the theme and some of you were furious at us for not making it available. We heard you! Here's what it's going to look like :&lt;/P&gt;
&lt;P&gt;
&lt;OBJECT width=425 height=344&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/lRT8pko6mVs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/lRT8pko6mVs&amp;hl=en_US&amp;fs=1&amp;" mce_src="http://www.youtube.com/v/lRT8pko6mVs&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;/P&gt;
&lt;P&gt;The Live Explorer theme was crafted so you can easily add it to your window and instantly get the look we are using in our own Live Explorer. It is perfect for applications that require a "darker" environment with a hint of color to keep it visually pleasing. Keep in mind that the video displays a work-in-progress version of the theme but very little should change visually when it is released. We also decided to expose an additional style for the toolbar to make it orange instead of gray.&lt;/P&gt;
&lt;P&gt;The second theme we added is a Windows 7 inspired theme. Windows 7 creates a very colorful and exciting environment and we wanted to capture this and bring it to our products. We tried to bring a more extravagant experience with this theme and hopefully it will allow you to build a fun application around it.&lt;/P&gt;
&lt;P&gt;
&lt;OBJECT width=425 height=344&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/CYQqgyG_V34&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/CYQqgyG_V34&amp;hl=en_US&amp;fs=1&amp;" mce_src="http://www.youtube.com/v/CYQqgyG_V34&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;/P&gt;
&lt;P&gt;Both these themes are available in Xceed DataGrid for WPF and the upcoming version of Xceed Professional Themes for WPF. Another version of Xceed Professional Themes for WPF will provide styles for Microsoft's datagrid and calendar controls should come out shortly after. &lt;/P&gt;
&lt;P&gt;If you have any questions about the product, feel free to contact us!&lt;BR&gt;&lt;/P&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=25875" width="1" height="1"&gt;</description></item><item><title>Quick usage preview of Xceed Professional Themes for WPF</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/07/23/quick-usage-preview.aspx</link><pubDate>Thu, 23 Jul 2009 18:29:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:22857</guid><dc:creator>Matt</dc:creator><slash:comments>1</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/22857.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=22857</wfw:commentRss><description>&lt;P&gt;&lt;IMG src="http://xceed.com/CS/blogs/xamlhero/P_ProfessionalThemes-WPF_EN.jpg"&gt;&amp;nbsp;&lt;BR&gt;I thought it would be a good idea to share with you how easy you'll be able to integrate our new Xceed Professional Themes for WPF product into your application. Version 1.0 will include 5 different themes: Media, Glass, and Office 2007 Black/Blue/Silver. Future versions will probably include Office 2010, Windows 7 themes, etc. You can expect each theme to have a version for Xceed DataGrid for WPF as well. This way, you can keep the datagrid's look in sync with all the standard controls.&lt;/P&gt;
&lt;P&gt;Once you have the product installed, the first thing you'll want to do is add references to your project. Each theme has an assembly associated with it. For this example, we'll work with the Media theme (similar to the WMP11 theme in Xceed DataGrid for WPf). Once you have added the reference, you'll want to set the namespace declaration in XAML:&lt;/P&gt;
&lt;P&gt;xmlns:xcpt="&lt;A href="http://schemas.xceed.com/wpf/xaml/themes"&gt;http://schemas.xceed.com/wpf/xaml/themes&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;xcpt stands for Xceed Professional Themes . We wanted to preserve the proper "WPF" way as much as possible, so each theme is basically a resource dictionary that you can add to your resources. You can simply add the resource dictionary as a resource to your entire window:&lt;/P&gt;
&lt;P&gt;&amp;lt;Window.Resources&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;xcpt:MediaResourceDictionary/&amp;gt;&lt;BR&gt;&amp;lt;/Window.Resources&amp;gt;&lt;/P&gt;
&lt;P&gt;This will also work if you want it to be applied to your entire application.&lt;/P&gt;
&lt;P&gt;&amp;lt;Application.Resources&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;xcpt:MediaResourceDictionary/&amp;gt;&lt;BR&gt;&amp;lt;/Application.Resources&amp;gt;&lt;/P&gt;
&lt;P&gt;You're almost ready to go. You need to first take care of the licensing. Our custom resource dictionary exposes a LicenseKey property:&lt;/P&gt;
&lt;P&gt;&amp;lt;xcpt:MediaResourceDictionary LicenseKey="Your-License-Key-Here"/&amp;gt;&lt;/P&gt;
&lt;P&gt;If you are in trial mode, you should be able to find your trial license key in the Resource Center installed with the product. If you have purchased the product already, you will find your license key in an email sent by our sales department. If you are trying the theme on an already existing application, you can hit F5 and see your standard controls styled with the Media theme. Simple enough?&lt;/P&gt;
&lt;P&gt;The method I just described is using all our resources implicitly, meaning that you did not have to define explicitly on each controls which theme you want to use. If, for any reason, you do not wish our themes&amp;nbsp; to override all your defined styles, you can use this product explicitly.&lt;/P&gt;
&lt;P&gt;&amp;lt;xcpt:MediaResourceDictionary StyleUsageMode="Explicit"/&amp;gt;&lt;/P&gt;
&lt;P&gt;As you already probably guessed, the default value is Implicit. Now that you have changed the StyleUsageMode property, if you hit F5, you should not see any difference from what you usually see without the themes referenced.&lt;/P&gt;
&lt;P&gt;This means, however, that you will have to define the resource you want for each control. Let’s take a button for example:&lt;/P&gt;
&lt;P&gt;&amp;lt;Button Style="{x:Static xcpt:MediaResources.ButtonStyle}"/&amp;gt;&lt;/P&gt;
&lt;P&gt;You have to force the Style of the Media button on the desired control. You will find a complete list of keys for our controls available in our documentation if you chose to work in Explicit mode.&lt;/P&gt;
&lt;P&gt;When creating this product, we were also aware that even though we styled all the standard Microsoft controls, some users would require us to go further. This is why in our light API we added some brush resources that you can apply to your own controls. Here's an example:&lt;/P&gt;
&lt;P&gt;&amp;lt;Border Background="{x:Static&lt;BR&gt;xcpt:MediaResources.ControlBackgroundBrush}"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BorderBrush="{x:Static xcpt:MediaResources.BorderBrush}"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BorderThickness="1"&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;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height="50"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width="50"/&amp;gt;&lt;/P&gt;
&lt;P&gt;This way, you create your own controls using some of our resources. As demonstrated above, you can set Background and BorderBrush to any element using our resources. A complete list of exposed resources will be available in our documentation as well. Of course, there's always the option to get our Blueprint Edition to get access to the complete XAML resources for all controls.&lt;/P&gt;
&lt;P&gt;Finally, a request I have received a few times and even in my previous blog post is to be able to change themes on the fly for your application. Basically, something to allow the user to have a Combobox with a list of available themes that can be changed during run-time. Here's a quick and dirty way you can do this, by defining your Combobox:&lt;/P&gt;
&lt;P&gt;&amp;lt;ComboBox SelectedIndex="0"&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; SelectionChanged="ThemeComboBox_SelectionChanged"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ComboBoxItem Content="Glass"&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;lt;ComboBoxItem.Tag&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;lt;xcpt:GlassResourceDictionary /&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;lt;/ComboBoxItem.Tag&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComboBoxItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ComboBoxItem Content="Office 2007 Blue"&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;lt;ComboBoxItem.Tag&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;lt;xcpt:Office2007BlueResourceDictionary /&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;lt;/ComboBoxItem.Tag&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComboBoxItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ComboBoxItem Content="Office 2007 Black"&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;lt;ComboBoxItem.Tag&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;lt;xcpt:Office2007BlackResourceDictionary /&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;lt;/ComboBoxItem.Tag&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComboBoxItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ComboBoxItem Content="Office 2007 Silver"&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;lt;ComboBoxItem.Tag&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;lt;xcpt:Office2007SilverResourceDictionary /&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;lt;/ComboBoxItem.Tag&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComboBoxItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ComboBoxItem Content="WMP11"&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;lt;ComboBoxItem.Tag&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;lt;xcpt:MediaResourceDictionary /&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;lt;/ComboBoxItem.Tag&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComboBoxItem&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComboBox&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;In your codebehind you will have to add the ThemeComboBox_SelectionChanged method, which should look like this:&lt;/P&gt;
&lt;P&gt;private void ThemeComboBox_SelectionChanged(object sender,&lt;BR&gt;SelectionChangedEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (e.AddedItems.Count &amp;gt; 0)&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; this.Resources = ((ComboBoxItem)e.AddedItems[0]).Tag as&lt;BR&gt;ResourceDictionary;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;So this pretty much covers how our new product called Xceed Professional Themes for WPF will work. If you have questions about licensing and pricing, you can already contact &lt;A href="mailto:sales@xceedsoft.com"&gt;sales@xceedsoft.com&lt;/A&gt;. You can expect this product to be available by mid/end of August. Enjoy!&lt;BR&gt;&lt;/P&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=22857" width="1" height="1"&gt;</description></item><item><title>A Glimpse at Xceed Professional Theme Packs for WPF.</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/06/25/a-glimpse-at-xceed-proffesional-themepacks-for-wpf.aspx</link><pubDate>Thu, 25 Jun 2009 16:47:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:22033</guid><dc:creator>Matt</dc:creator><slash:comments>2</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/22033.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=22033</wfw:commentRss><description>&lt;div&gt;&lt;div&gt;For the past few months, Catherine and I have been working on a new product called Xceed Professional Theme Packs for WPF. This product&amp;nbsp;will include all Standard Microsoft controls :&amp;nbsp;Button, RadioButton, Checkbox, ListBox, TreeView, Toolbar, StatusBar etc... and about 30 different controls—all skinned. &lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;The main reason why we decided to develop this product is because of you,&amp;nbsp;our users. We received many comments like : "the WMP11 theme is nice for the DataGrid; however, the rest of my application doesn't fit!". It seemed like the next logical step was to offer a product that would enable our users to give their application a uniformed look. This product does not have a dependancy on Xceed DataGrid for WPF since we can easily imagine users wanting to use this product in any WPF application.&lt;/div&gt;&lt;div&gt;&lt;br&gt;One of the features this product will have is the ability to skin all your controls and still respond to visual properties. For example, having a WMP11 button will completely redo the look of the button; however, we were careful to still support properties like Background and BorderBrush, for example. If you look a the following image, you'll see three different buttons all with the same skin. The only difference between each button is the Background property :&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;img title="undefined" border="0" alt="" width="295" height="49" src="http://xceed.com/CS/blogs/xamlhero/wmp11button.png"&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;We wanted to enable our users to modify the look of the controls without compromising the skin. To achieve this, we had to exploit TemplateBindings as much as we could. TemplateBindings in a template allow you to chose which VisualElement in your VisualTree will respond to a given property. So in our WMP11 Button template, we added a layer over the gradient brush that gives the WMP11 look. So :&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;Rectangle Fill={StaticResource WMP11GradientBurhs}/&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;Rectangle Fill={TemplateBinding Background}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Opacity="0.3"/&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;ContentPresenter /&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This is obviously not exactly how our template looks, it's just to give you an idea of how we proceeded. The Rectangle that has the opacity set to 0.3 is the one that is template bound to the background property. This will allow our users to set a color to the control without overriding the grandients as seen in the image.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here's a quick video demonstrating some of our controls in action :&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1G9nTNGv5x8&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed mce_src="http://www.youtube.com/v/1G9nTNGv5x8&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" src="http://www.youtube.com/v/g2NgBcPz4wI&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/object&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Not all controls are being displayed but it should give you a general idea of where we're going with this product. One of the toolbars has its background property set to DeepSkyBlue and, as you can see, it still fits with the look of the control. &lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;I'm pretty excited about Xceed getting this product out to you as soon as possible. We are currently in a final polishing phase and hoping for this to be released by the end of the summer. Expect to see 5 different themes with over 30 controls including : Office 2007 Blue, Black and Silver, WMP11, and Glass. Have questions about the control? Feel free to email me at drimonakosm@xceed.com or follow me on twitter at www.twitter.com/mattd1980.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=22033" width="1" height="1"&gt;</description></item><item><title>Don't sacrifice function for looks!</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/05/29/don-t-sacrifice-functionalities-for-looks.aspx</link><pubDate>Fri, 29 May 2009 15:13:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:21271</guid><dc:creator>Matt</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/21271.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=21271</wfw:commentRss><description>&lt;P class=MsoNormal&gt;This is somewhat related to my &lt;A href="http://xceed.com/CS/blogs/xamlhero/archive/2009/02/10/because-you-can-animate-doesn-t-mean-you-should.aspx" target=_blank&gt;previous post&lt;/A&gt; about "less is more". Another thing that I've noticed over the years is that some websites or applications tend to give a priority to looks over function. There are some exceptions to this that obviously depend on the theme of the application or website. Now, WPF and Silverlight provide us with a lot of features to alter the visual appearance of an application and as I mentionned before: with great power comes great responsibility.&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;A lot of our clients have to wear the designer, artist, and programmer hat all at once. Not everyone has the chance to have an integrator and artist/designer working alongside. If you are just starting out in WPF or Silveright and do not have a lot of experience in design my first advice is this: don’t try to be cute. Design is hard and requires a lot of experience, you wouldn’t expect someone to start coding in C# and or VB.NET by improvising, well don’t expect you can easily improvise design ;-).&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;When I say “don’t sacrifice function over looks” it means elements placed on your application or website that require interaction should not be blended in your design in a way that they cannot be easily accessible. This might sound very basic; however, even the most advanced design companies make these fundamental mistakes. For example, here’s something Odi (@kosmatos) tweeted : “So who can tell which is currently selected in the "Public | Private" TOGGLE button? How do you know? http://twitpic.com/659sb”. And he’s right, the purpose of a ToggleButton is to easily determine if a button is currently toggled or not. When designing an application make sure your controls are easily accessible and that their visual representation respects the essence of the controls.&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Another fundamental way to allow users to easily indentify an element that can be manipulated is by using contrasts. Make sure that what is important to the end users visually stands out. This is another point that may sound very basic to most of you; however, it is a detail that can be forgotten or ignored. Here’s a selected menu item from a very awesome website I visit:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG style="WIDTH:111px;HEIGHT:51px;" src="http://xceed.com/CS/blogs/xamlhero/getstarted.png" width=111 height=51&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Bright orange on white is not the best way to make text stand out. Test your contrasts and make sure that important text or informationcan be easily read.&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Regroup valuable information or sections currently important to the user. We faced this issue when developing our Resource Center. &amp;nbsp;We wanted to display a lot of information in a single form. For those who don’t know what the Resource Center looks like, here it is:&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG title=undefined border=0 alt="" src="http://xceed.com/CS/blogs/xamlhero/resourcecenter.png" width=606 height=426&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;We have a main section in our circular listbox, we have News Headlines and Licensing Information. That’s a lot of content to throw at our users. So we have to guide our user eyes to what is important. The currently active section will have a big icon standout and the icon will be linked to the currently active section, in this case Getting Started, which is represented by a timer. One of the issues we had is that the news headline would have grabbed the user's attention too much when really this is not where we want them to initially look. So what we did is we made the text semi transparent until the user hovers over the section. We also decided to hide our scrollbar on the News section that would just be cumbersome to the user's eye. So with this, we hope that the users initially pay attention to the middle circular panel.&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;This is just some advice I’ve learned by working with our designer over the years. They are fundamental principles that we obviously did not invent. Those are related to the&amp;nbsp;Contrast, Repitetion, Alignment, Proximity (C.R.A.P.)&amp;nbsp;design principles&amp;nbsp;brought up by Robin Williams in his popular book &lt;A href="http://www.amazon.com/gp/product/1566091594/103-8332888-8605461?v=glance&amp;amp;n=283155#" target=_blank&gt;The Non-Designer’s&amp;nbsp;Design Book&lt;/A&gt;. You can do a quick google search for C.R.A.P. Web Design to find more information about this. Keep in mind that the C.R.A.P. Principles applies, in my opinion, to application design as well.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;Questions or comments, feel free to send them either on twitter @mattd1980 or &lt;A href="mailto:drimonakosm@xceed.com"&gt;drimonakosm@xceed.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=21271" width="1" height="1"&gt;</description></item><item><title>Mix09!</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/03/13/mix09.aspx</link><pubDate>Fri, 13 Mar 2009 13:47:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:19265</guid><dc:creator>Matt</dc:creator><slash:comments>2</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/19265.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=19265</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-CA;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Next week I'm headed to Vegas to participate in this much anticipated event. I'm really looking forward to meet some of you and I will be hard to miss with my white Xceed polo ;-) so don't be a stranger! The sessions I will be attending will be mostly those concerning Silverlight 3 and WPF. I'm pretty excited about What's New in Windows Presentation Foundation (WPF) 4 by Kevin Gjerstad and Mark Wolson-Thomas, I've been working with WPF over the past three years and have pretty high expectations about this new version. I hear XAML will change a bit, which concerns me considering most of my coding time is done in XAML for the DataGrid or our Silverlight products.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-CA;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;SPAN style="mso-ansi-language:EN-CA;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;My expectations for Mix09 are to a) learn new stuff and b) get inspired! It'll be interesting to see what others do and what Microsoft has planned for the future. I'll see you guys and gals there! I'll probably be tweeting quite a bit about what I am doing while I’m there so feel free to follow me at &lt;A class="" title=twitter.com/mattd1980 href="http://twitter.com/mattd1980"&gt;twitter.com/mattd1980&lt;/A&gt;. Oh and I'll be attending the TAO party with Catherine, Charles, and Odi on Wednesday night! &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=19265" width="1" height="1"&gt;</description></item><item><title>Animation in xaml to get you started.</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/02/16/animation-in-xaml-to-get-you-started.aspx</link><pubDate>Mon, 16 Feb 2009 16:14:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:18643</guid><dc:creator>Matt</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/18643.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=18643</wfw:commentRss><description>&lt;div&gt;My previous post was xamlless so I thought I'd give some basic examples to get you started if you're not familiar with animations.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;First I'll show you how to create this smooth translate and opacity animation and how to tweak it to what you want. Here's the storyboard I declared in my project resources :&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;Storyboard x:Key="showItemsStoryboard"&gt;&lt;/div&gt;&lt;div&gt;  &amp;lt;DoubleAnimation &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE:pre;"&gt;&lt;/span&gt;      Storyboard.TargetProperty="Opacity"&lt;/div&gt;&lt;div&gt;                              DecelerationRatio="0.5"&lt;/div&gt;&lt;div&gt;                              To="1"&lt;/div&gt;&lt;div&gt;                              Duration="00:00:00.400"/&gt;         &lt;/div&gt;&lt;div&gt;  &amp;lt;DoubleAnimation &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE:pre;"&gt;&lt;/span&gt;      Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"&lt;/div&gt;&lt;div&gt;                              To="0"&lt;/div&gt;&lt;div&gt;                              DecelerationRatio="0.5"&lt;/div&gt;&lt;div&gt;                              Duration="00:00:00.400"/&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/Storyboard&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;There are various ways you can do this but I prefer using a more generic approach where I will not be dependent on the type of object I will be animating, hence the UIElement.RenderTransform. You could also set this explicitly by using the Storyboard.TargetName property and naming (x:Name) your TranslateTransform, which would look like this : &lt;br&gt;&lt;br&gt; &amp;lt;DoubleAnimation &lt;div&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE:pre;"&gt;&lt;/span&gt;                              Storyboard.TargetName="myTranslate"&lt;/div&gt;&lt;div&gt;                              Storyboard.TargetProperty="X"&lt;/div&gt;&lt;div&gt;                              To="0"&lt;/div&gt;&lt;div&gt;                              DecelerationRatio="0.5"&lt;/div&gt;&lt;div&gt;                              Duration="00:00:00.400"/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;Either way, it does not really change anything for the current example. Now, the only thing left is to make sure the object you will be animating has a TranslateTransform attached and its opacity set to 0 :&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;TextBlock Opacity="0"&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;TextBlock.RenderTransform&gt;&lt;/div&gt;&lt;div&gt;    &amp;lt;TranslateTransform X="-15"/&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;/TextBlock.RenderTransform&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/TextBlock&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Your control is now ready to be animated, for testing purposes you can just add the following code in your xaml :&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;TextBlock.Triggers&gt;&lt;/div&gt;&lt;div&gt;    &amp;lt;EventTrigger RoutedEvent="TextBlock.Loaded"&gt;&lt;/div&gt;&lt;div&gt;       &amp;lt;EventTrigger.Actions&gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;BeginStoryboard Storyboard="{StaticResource showItemsStoryboard}"/&gt;&lt;/div&gt;&lt;div&gt;       &amp;lt;/EventTrigger.Actions&gt;&lt;/div&gt;&lt;div&gt;    &amp;lt;/EventTrigger&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;/TextBlock.Triggers&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;There are various elements you can play with to get the effect you want, at this point it's just a matter of changing the duration along with the Acceleration or DecelerationRatio and the TranslateTransform X value. Keep in mind that in a lot of cases a simple Opacity animation should be enough without adding the translate. The key is to not over do it &lt;img src="http://xceed.com/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Another fun yet dangerous (in a design point of view) thing to play with when working with animation, is the ScaleTransform. If you read my &lt;a class="" target="_blank" href="http://xceed.com/CS/blogs/xamlhero/archive/2009/02/10/because-you-can-animate-doesn-t-mean-you-should.aspx"&gt;previous post&lt;/a&gt; you will understand why. ScaleTransform animation surfs on the thin line between corny and cool. Scaling elements can be intresting in splash screens or when you initially layout your elements. Here is an example : &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;DoubleAnimation Storyboard.TargetProperty="Opacity"&lt;/div&gt;&lt;div&gt;                          To="1"&lt;/div&gt;&lt;div&gt;                          Duration="00:00:00.400"/&gt;         &lt;/div&gt;&lt;div&gt;         &amp;lt;DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"&lt;/div&gt;&lt;div&gt;                          To="1"&lt;/div&gt;&lt;div&gt;                          Duration="00:00:00.400"/&gt;&lt;/div&gt;&lt;div&gt;         &amp;lt;DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"&lt;/div&gt;&lt;div&gt;                          To="1"&lt;/div&gt;&lt;div&gt;                          Duration="00:00:00.400"/&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Make sure your element has both the opacity set to 0 and has a ScaleTransform attached : &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;TextBlock Text="Hello World"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE:pre;"&gt;&lt;/span&gt;  Opacity="0"&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;TextBlock.RenderTransform&gt;&lt;/div&gt;&lt;div&gt;   &amp;lt;ScaleTransform ScaleX="0.75" ScaleY="0.75"/&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;/TextBlock.RenderTransform&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/TextBlock&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I would advise against starting with a ScaleX and ScaleY at 0 as the effect will be too drastic. You can try it out and see what I mean. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Just to demonstrate what you could do :&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1G9nTNGv5x8&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed mce_src="http://www.youtube.com/v/1G9nTNGv5x8&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" src="http://www.youtube.com/v/1G9nTNGv5x8&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/object&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So how does that all tie in the datagrid? Well, it's really up to you and your creativity. An easy example would be to use an animation like a scaleTransform in a cell's error style. If some data is invalid, you could then scale it to bring the information to the user's attention. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If you want to try this out, create a new Style with TargetType xcdg:DataCell (assuming you added Xceed's namespace with xcdg) give it a key like : myCellErrorStyle&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;In this style you can add something like this (tweak it to what you want) :&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;Setter Property="RenderTransformOrigin"&lt;/div&gt;&lt;div&gt;              Value="0.5,0.5"/&gt;&lt;/div&gt;&lt;div&gt;      &lt;/div&gt;&lt;div&gt;      &amp;lt;Setter Property="RenderTransform"&gt;&lt;/div&gt;&lt;div&gt;         &amp;lt;Setter.Value&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;ScaleTransform ScaleX="1" ScaleY="1"/&gt;&lt;/div&gt;&lt;div&gt;         &amp;lt;/Setter.Value&gt;&lt;/div&gt;&lt;div&gt;      &amp;lt;/Setter&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;Style.Triggers&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;Trigger Property="IsValidationErrorRestrictive"&lt;/div&gt;&lt;div&gt;                     Value="True"&gt;&lt;/div&gt;&lt;div&gt;                &amp;lt;Setter Property="Background"&lt;/div&gt;&lt;div&gt;                        Value="Red"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;/Trigger&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;Trigger Property="IsValidationErrorRestrictive"&lt;/div&gt;&lt;div&gt;                     Value="False"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;                &amp;lt;Setter Property="Background"&lt;/div&gt;&lt;div&gt;                        Value="Orange"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;Trigger.EnterActions&gt;&lt;/div&gt;&lt;div&gt;               &amp;lt;BeginStoryboard&gt;&lt;/div&gt;&lt;div&gt;                  &amp;lt;Storyboard AutoReverse="True"&gt;&lt;/div&gt;&lt;div&gt;                     &amp;lt;DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"&lt;/div&gt;&lt;div&gt;                                      To="1.1"&lt;/div&gt;&lt;div&gt;                                      Duration="00:00:00.25"/&gt;&lt;/div&gt;&lt;div&gt;                     &amp;lt;DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"&lt;/div&gt;&lt;div&gt;                                      To="1.1"&lt;/div&gt;&lt;div&gt;                                      Duration="00:00:00.25"/&gt;                                      &lt;/div&gt;&lt;div&gt;                  &amp;lt;/Storyboard&gt;                     &lt;/div&gt;&lt;div&gt;               &amp;lt;/BeginStoryboard&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;/Trigger.EnterActions&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;/Trigger&gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;/Style.Triggers&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Now, on the datagrid you have a property named CellErrorStyle, you can set it to your myCellErrorStyle and voila!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Questions? Comments? Please feel free to share :).&lt;/div&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=18643" width="1" height="1"&gt;</description><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/wpf/default.aspx">wpf</category><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/Animation/default.aspx">Animation</category></item><item><title>Because you can animate, doesn't mean you should.</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/02/10/because-you-can-animate-doesn-t-mean-you-should.aspx</link><pubDate>Tue, 10 Feb 2009 17:56:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:18529</guid><dc:creator>Matt</dc:creator><slash:comments>1</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/18529.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=18529</wfw:commentRss><description>&lt;p&gt;A lot has changed since WinForms but one of the variables that hasn't changed much, is the programmer. WinForms programmers who were used to static environments are now asked to "upgrade" to WPF, which brings a whole new world of possibilities. One of these possibilities is animation. In an ideal world, a company that moves from WinForms to WPF should have an integrator and an artist. Obviously, not all of WPF programmers are that fortunate and some have to take on the three roles. Here's an example of what I consider a good use of animation. &lt;br&gt;&lt;br&gt;If working with Catherine (our artist) has taught me anything in the past three year is that "less is more", which she often loves to remind me. This is especially true with animations and more so if you have little or no experience with it. Stick with the basics. Why do you want to animate X and Y? The answer can't always be "because it's cool” or “because I can". Animations should be used to guide the user’s eyes on the screen, to give them a visual queue that something changed. It's easy to go over the top and do too much. Here's an example of what I would not recommend :&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ekAX18Mq7fE&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed mce_src="http://www.youtube.com/v/ekAX18Mq7fE&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" src="http://www.youtube.com/v/ekAX18Mq7fE&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/object&gt;&lt;br&gt;&lt;br&gt;Unfortunately, this is the type of things we see in WPF applications. Too much visual noise, which overwhelms the user. I would recommend a much smoother approach. For example:&lt;/p&gt;&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AhsUSyNJ_p0&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed mce_src="http://www.youtube.com/v/AhsUSyNJ_p0&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" src="http://www.youtube.com/v/AhsUSyNJ_p0&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/object&gt;&lt;br&gt;&lt;br&gt;In the end, if your application is built around a "light" animation philosophy, odds are that you'll get a much slicker application. Try not to vary the type of animation you are using either. Mixing ScaleTransforms with RotateTransform can make a user nauseous. If you don't feel you have the knowledge required to determine when you should use animation, refer to the pros like what you see in &lt;a&gt;Zune&lt;/a&gt;, which uses very smooth animation like the one I demonstrated.&lt;/p&gt;&lt;p&gt;Also feel free to follow me on &lt;a href="http://twitter.com/mattd1980"&gt;twitter&lt;/a&gt; !&lt;br&gt;&lt;/p&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=18529" width="1" height="1"&gt;</description><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/wpf/default.aspx">wpf</category><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/Animation/default.aspx">Animation</category><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/zune/default.aspx">zune</category></item><item><title>Being the Integrator</title><link>http://xceed.com/CS/blogs/xamlhero/archive/2009/02/04/being-the-integrator.aspx</link><pubDate>Wed, 04 Feb 2009 20:52:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:18404</guid><dc:creator>Matt</dc:creator><slash:comments>1</slash:comments><comments>http://xceed.com/CS/blogs/xamlhero/comments/18404.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/xamlhero/commentrss.aspx?PostID=18404</wfw:commentRss><description>Hello! Welcome to my new blog, Xaml hero! My name is Matt and I work as the WPF and Silverlight integrator at Xceed. With the arrival of new technologies that require artists and programmers to work together, came the need for a middle man: Me! Part of my job is to make sure that both parties understand each other and work towards the same goal. When we have technical group meetings the artist will often look at me and go "huh" and it's part of my job to make her understand some of the technical limitations she will be facing. My day to day job consists of taking the designs or prototypes the artists might have created and integrate them into our products. It can be new look for the column header in our grid or a new sample application for our Silverlight tools. I usually work directly in Visual Studio or a XAML-pad type of editor. I usually try to avoid using Blend as its XAML editor is still lacking. &lt;br&gt;&lt;br&gt;As for our artist, she can use a wide variety of tools. She obviously does a lot in Blend; however, her mock ups can be static and come from illustrator. Once she is done, she'll ask me to "wpfize" them. She will also occasionally use Flash when her mock ups rely on elements being animated. &lt;br&gt;&lt;br&gt;So there you have it, this is what I do at Xceed. I hope to bring you tips and samples on how to do neat things in both WPF and Silverlight whenever I get the chance. &lt;br&gt;&lt;br&gt;Note that Catherine and I will be attending mix09! Look for us if you have questions about our products or just feel like chatting about them.&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=18404" width="1" height="1"&gt;</description><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/wpf/default.aspx">wpf</category><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://xceed.com/CS/blogs/xamlhero/archive/tags/xaml/default.aspx">xaml</category></item></channel></rss>
