I also have a desktop application in WinForms that is a middling size (a couple dozen major forms backed by 46 tables in the database). I'm thinking about rewriting the UI in WPF, but before I go there I was curious if there were any war stories about doing such a conversion.
I use LLBLGen to generate my low level data access objects, and I have a business logic layer above that. The forms are databound to the business logic objects, although the main form uses caching objects to minimize round trips on the more common navigation routes. The UI never speaks directly to the database: always through the UI -> business logic -> low level -> datastore path.
One control that I use heavily is the TreeView, which acts as a visual guide and short range navigation tool. The tree has been heavily customized with icons, highlight colors and it is the control I worry most about porting.
Does anyone have a story that might convince me to go ahead and convert (or conversely, wait until Microsoft is closer to pulling the rug out from under WinForms)?
EDIT: I was asked in a comment what motivation for conversion I have. I have some concern about future proofing: I have 500,000 lines of code that were originally ASP/VBScript. We have been porting the functionality over time to ASP.NET/C#, but only as we make changes to the code. The upside is we have kept costs minimized, the downside is half the code remains ASP/VBScript. I'm concerned about a similar situation arising with WinForms applications.
Am I worried today about WinForms going away? Not even close to it... but the application moving from ASP/VBScript -> ASP.NET/C# has 9 years of history behind it, and probably won't be replaced this decade (instead, simply it will evolve). The desktop application is likewise a long term project with years of history.