jfo's coding

adventures in windows forms and wpf

September, 2009

Blog - About

About jfo's coding

About JFo

Jessica (aka JFo) has 9 years experience building user interface libraries at Microsoft.   As a developer on the Windows Forms team, Jessica designed and implemented various aspects of the Windows Forms runtime for the 1.1 and 2.0 releases of the .Net Framework.  Her current project is the "Cider" designer for the "Dev10" release of Visual Studio.

About the blog

This blog is designed to talk about two different subjects: Windows Forms and the "Cider" designer for the Windows Presentation Foundation.  For a list of articles on Windows Forms, be sure to check the "Best and worst of JFos Coding by Category."

Providing WPF feedback

There are multiple ways customers can provide feedback and suggestions for Windows Presentation Foundation:

Providing Cider Feedback

Cider is in its early stages of development.  We encourage customers to send us feedback through  

Providing Windows Forms Feedback

There are several ways to provide feedback to the Windows Forms team


  • jfo's coding

    Tip: creating your own snippets

    I recently showed how to use the "Define a Dependency Property" snippet in VS to save time/frustration creating a new property on your control. I often need a property changed event as well, and it's a bit of a pain to go back and add it. I just figured...
  • jfo's coding

    Tip: quickly create a dependency property

    If you want to make a property that can be styled from XAML - you need to create a dependency property on your control. This can be a tricky syntax, but fortunately the C#/VB editor have "snippets" that allow you to really quickly create one. Let’s...
  • jfo's coding

    Creating a custom control in Cider

    Here's the quick way to create a custom control in Cider. Right click on project in Solution Explorer Choose “Add > New Item” Choose “Custom Control (WPF)” Two files will be generated – CustomControl1.cs and Themes\Generic...
  • jfo's coding

    OnRender is not as cheap as OnPaint

    If you’re an old windows forms or GDI/Win32 person, you may be tempted to override OnRender for more complex UIs . A long long time ago I wrote how to create a custom control in Windows Forms . I showed the technique for calling Invalidate() to call...
  • jfo's coding

    Avoiding throwaway layout/painting/mouse code

    I’m not normally a Hungarian fanatic or anything, but it is quite easy to create “write once” layout/painting code. If there’s ever a problem with the math the code needs to be tossed out because it’s too confusing or too difficult to update. I think...
  • jfo's coding

    How can I remember which order Margin properties are set?

    Often you can stare at a margin property "10,20,30,40" in XAML and be slightly confused as to which is which property. If I have to deal with a format over and over again I will come up with a trick to remember how to work with it. My trick is to remembering...
  • jfo's coding

    Demystifying WPF/Silverlight layout properties

    What is the difference between ActualSize, RenderSize, LayoutSlot? There are quite a few properties in WPF and Silverlight for layout, and it is confusing. It helps me to think of them in two separate categories – layout input properties (control layout...
  • jfo's coding

    G'Day from Australia!

    ...and I'm back. Well not back back in Redmond back, but back doing the things I love with great people, just at a great distance. I want to apologize for my hiatus from blogging. I have been busy at work on the next version of the Cider designer for...
Page 1 of 1 (8 items)