About me

Geert is a freelance software developer who started developing Catel in 2011. He was very enthusiastic about the WPF and MVVM frameworks. However, he was missing the actual functionality in the common MVVM frameworks and decided to write his own which eventually emerged into Catel.


Follow me on twitter via @GeertvanHorrik.


If you like to show your appreciation for the work I’ve done, you can donate below.


Of all the awards I have won, I have listed the most important ones to me below.


  • Mattias

    I try to download the WPF ComboBoxEx. But the link is dead. 🙁
    Can you help me?

    • Thanks for letting me know. This is caused by migration to wordpress. It is fixed now.

  • Markus Hopfenspirger

    Hello Geert,
    One question about shared Projects and your blog post: How to use code from one shared Project in another shared Project? Is this possible?
    Kind regards, Markus

    • The advantage of shared projects is that all files will be compiled by the end-project. With multiple shared projects, you can reference all the shared projects and they will all be compiled (thus the “references between shared projects” will be resolved as well). A good usage example can be found in Orchestra (see https://github.com/wildgums/orchestra, the shell projects).

  • Steve Quinn

    Hi Geert, love Catel, like Prism regions so Catel.Extensions.Prism was a no-brainer….if only I could make it work!
    My idea was to build a simple (!) Outlook-style front end which would be populated by Modules at start up. Buttons to select a particular workspace (right-side window/control, left-side nav control) would be situated at bottom left of the shell window as per Outlook.
    I’ve checked out (line by line …) the code for the examples given in the source/lib and still can’t get even a basic demo with a shell and one module to work – the module doesn’t load (at the least would expect the modules’ selection button to appear at bottom left of the shell window).
    The whole thing seems impenetrable ….
    I know and really, really appreciate the work you and the team put in on this but some of that good work is going to waste because people who aren’t ultra-familiar with the code and its development are beginning to find it hard to make use of the improved features without updates (and examples) to the documentation since v3.9.
    I guess what I’m saying is that I feel the additional ‘features’ of Catel are starting to get in the way of its usage?
    Any chance of a simple example illustrating how to do something like the above to let us jobbing hacks enjoy some of the goodness?

  • Carlos Lima

    Hi Geerl.
    I’m trying to have a look at your control for webcam but the download is broken.
    Is there a chance to correct the link or put it on github?
    Thank you.

    • I might do that one day, but don’t have any plans to do that in a short time period (I don’t have a webcam laying around).

  • Hi Geert!

    First of all thanks for sharing your knowledge with us. This is a great help. I have rad your article about WebSVN Extension. This sound really great as I am looking exactly for this functionality. However your link seems to be damaged. Can you give me a new link to download your patch?


    • Not sure if I have that code, since it’s from 2009.

      • That sounds not so good 🙁 Do you have any other ideas to find a resource with such an implementation?

  • fayssal

    Hi Geert, I am trying to embed the Orc.LogViewer from a Class Library (as part of an Excel-Addin). Is there a way to make use of the LogViewer in this context. I want to dump the logs produced by the Excel addin into the LogViewer. Is this feasable at all? My WPF Knowledge is quite limited, but I find the LogViewer Window cool and would like to make use of it. Thanks in advance!

    • You will need to somehow transform the logs into the Catel log format, but then this should be perfectly feasible.

      • fayssal

        Thanks a lot for the quick reply! Is there an example of how to instantiate the LogViewer from a Class Library. I am using the NuGet package for Org.LogViewer, but I don’t seem to be successful getting the LogViewer Window to show up. Is there something in included examples I can orient myself with? Thanks a million times!

        • No, we don’t have examples for that, but should be fairly straightforward. If you need help, I am available for consultancy, but we don’t write new examples for this at the moment.