I would like to create some custom UI controls that work with both WPF and Windows Forms.
Is this possible?
If so, can I create these controls in WPF or do I need ot use a Windows Forms control?
Are there any other considerations?
I would like to create some custom UI controls that work with both WPF and Windows Forms.
Is this possible?
If so, can I create these controls in WPF or do I need ot use a Windows Forms control?
Are there any other considerations?
Answers:
HwndSource
.If you re writing a control library, it is usually best to implement your control in WPF (because it is so much more powerful than WinForms), then create a proxy for it to allow it to easily be used in WinForms.
The proxy is most easily implemented as follows:
System.Windows.Forms.Control
HwndSource
, and add the HwndSource
as a child of your proxyAlternatively you could choose not to create a proxy, and instead just tell your WinForms users they need to put your control inside a HwndSource when they add it to their Form.
Most other issues you will encounter in creating a dual-use control are insignificant or trivial to fix. For example, if you have a feature in your control that accepts images, just design it to accept either WinForms Bitmap or WPF s BitmapSource. And if you have a WPF control that would normally only support RoutedEvents, add old-fashioned event handlers for the comfort and convenience of the WinForms crowd.
ElementHost
will let you embed a WPF control inside a WinForms form, WindowsFormsHost
let s you insert WinForms controls into a WPF window.
Both are easy to use, and both have minor problems with composition (you can t draw a WPF element over a WinForms element, etc.).
I was wondering if someone can tell me what would be the best way to bring my application to the foreground if a mutex was not able to be created for a new instance. E.g.: Application X is running ...
I ve successfully created an app that minimizes to the tray using a NotifyIcon. When the form is manually closed it is successfully hidden from the desktop, taskbar, and alt-tab. The problem occurs ...
Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...
I have a DataTable that has several DataColumns and DataRow. Now i would like to handle an event when cell of this DataRow is changed. How to do this in c#?
How do you force a DataGridView to release its reference to a bound DataSet? We have a rather large dataset being displayed in a DataGridView and noticed that resources were not being freed after the ...
I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...
When I m trying to change the default Image of a Control on Windows Forms in Form Designer (no matter where on which control) I get this error: Error message: An item with the same key has ...
I have a Winforms application coded in VS C# 2008 and want to insert a WPF window into the window pane of Winforms application. Could you explain me how this is done.