• .NET

    Tip of the Day: Clear your ClickOnce application store

    ClickOnce is a great technology that blurs the line between web and client(windows) applications. You can use it to easily deploy windows forms and WPF (through XBAP) app's. However there is common problem with it. The application store (the place where all ClickOnce applications get stored) has the ability to corrupt it self ending in an appropriate version mix of your application. You can end up in situation where "it works on my machine", but in reality the application did not work correctly. To avoid such situation it is a good practice to clear your application store before testing the...
    June 24, 2008
  • .NET

    WPF Data Binding: Unraveling data templates

    Data binding in WPF in general and particularly working with data templates tends to be quite tricky some times. Here I'll present you some more advanced tips for dealing with data templates. To start with, I want to refer to an article I read a while ago. It is about the basics of data templates and I want to use it as a starting point and a foundation to build on. If you are just starting to work with WPF or you have never met with data templates, please read it first to get acquainted with the idea. I'll use ItemsControl for...
    June 17, 2008
  • .NET

    WPF Line Drawing and the Device-Pixel-(In)dependence

    As you are probably aware resolution and device independence is one of the fundamental design goals of WPF. In order to achieve the desired effect the framework does not work directly with physical (device-dependent) pixels but abstracts this notion into device-independent measuring units like inches. There are two main benefits that you get from this: Automatic DPI-aware scaling Sub-pixel positioning -- WPF coordinates use floating point numbers that theoretically give you the ability to draw with higher precision than the one provided by the ordinary pixel grid. However, there is one nasty side-effect related to the fact that WPF graphics are anti-aliased by default...
    June 16, 2008
  • .NET

    WPF Grids – to be or not to be

    Recently both Paul Stovell and Joseph Cooney blogged about one very interesting topic - "Do people really need grid controls in WPF?". They're saying that people actually don't need grids in WPF and this is what makes their blog posts worth reading. Imagine if they had said the opposite: "People need grid controls for WPF!". It would have been quite boring and wouldn’t have spurred much of a discussion. For many people the idea of not having grids for WPF sounds unconventional but Paul made an interesting parallel to justify his claim "Using grids in WPF is like buying a Ferrari to pick up...
  • .NET

    WPF Series: IFrameworkElement - the missing interface

    If you are familiar with WPF you are aware that the the grand daddy of all controls is FrameworkElement. It is defined in the PresentationFramework.dll assembly and derives from UIElement (defined in PresentationCore.dll). Its purpose is to serve as a base element for all framework related stuff: styles, inheritance context, etc. However there is another framework element - FrameworkContentElement. The main distinct between them is that the later did not defines its own rendering behavior (its inheritors should do so). This is way properties like: (Actual)Width or (Actual)Height are not present at FrameworkContentElement. If you examine the classes that derive from FrameworkContentElement...
    June 10, 2008