35.4. Windows Forms Interoperability

Up until now you have seen how you can build a WPF application that consists of a single window. However, it is unlikely that you are going to be able to migrate any existing applications across to WPF in one go. From the experience of trying to convince people to upgrade from VB6 to .NET using a "big-bang" approach, Microsoft has acknowledged that few organizations are likely to accept this as a viable upgrade path. So Microsoft has provided bi-directional interoperability support between WPF and Windows Forms applications through what is colloquially called Crossbow. In essence this is really about providing a hosting element with a Windows Forms application so that a WPF control can be inserted. Let's show this with a bit of an example based on the work you have done so far.

To begin with, let's create a WPF control that contains the same controls and layout as the window you have been working with so far. From the Add New Item dialog (see Figure 35-17), select the User Control (WPF) item. This will add the XAML and xaml.vb files necessary to create a WPF user control. If you examine the XAML you will see that it is essentially the same as the original XAML for the window we started with at the beginning of the chapter except that the root XAML element is UserControl instead of Window.

Figure 35.17. Figure 35-17

To copy the control layout ...

Get Professional Visual Studio® 2008 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.