WPF Debugger
Hans Karlsen (talk | contribs) (Created page with "We added a new WPF debugger to MDriven Designer some time ago. Now it is also available in runtime for inclusion in your WPF applications. If you have a WPF application that...") |
(Automatically adding template at the end of the page.) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
We added a new WPF debugger to MDriven Designer some time ago. Now it is also available in runtime for | We added a new WPF debugger to MDriven Designer some time ago. Now, it is also available in runtime for you to include in your WPF applications. | ||
If you have a WPF application that | If you have a WPF application that makes use of some Windows forms - and your "Application" object is of winform kind - then you need to instruct WPF that this is the case on a window-by-window basis: | ||
Eco.WPF.WPFDequeuer.Active = true; // The debugger (and all MDriven WPF UI needs the WPFDequeuer active to make derivations on screen evaluate) | |||
var wpfdebugger = new MDriven.WPF.Debugger.OCLRuntimeDebuggerWPF(GA.Singleton.GetCurrentEcoSpace()); | var wpfdebugger = new MDriven.WPF.Debugger.OCLRuntimeDebuggerWPF(GA.Singleton.GetCurrentEcoSpace()); | ||
// Next 2 rows are optional - needed when mixing WinForms and WPF to make keyboard work | |||
AutoFormWPF.OnNewAutoFormWPFCreated += (s, e) => { System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(e.AutoFormWPF); }; | |||
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(wpfdebugger); | System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(wpfdebugger); | ||
wpfdebugger.Show(); | wpfdebugger.Show(); | ||
In the code above notice the System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop call on the WPF form | In the code above, notice the ''System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop'' call on the WPF form. This ensures that keys and events work for true WPF forms in a Windows forms environment. | ||
[[Category:MDriven Designer]] | |||
[[Category:Debugging]] | |||
{{Edited|July|12|2024}} |
Latest revision as of 15:50, 10 February 2024
We added a new WPF debugger to MDriven Designer some time ago. Now, it is also available in runtime for you to include in your WPF applications.
If you have a WPF application that makes use of some Windows forms - and your "Application" object is of winform kind - then you need to instruct WPF that this is the case on a window-by-window basis:
Eco.WPF.WPFDequeuer.Active = true; // The debugger (and all MDriven WPF UI needs the WPFDequeuer active to make derivations on screen evaluate) var wpfdebugger = new MDriven.WPF.Debugger.OCLRuntimeDebuggerWPF(GA.Singleton.GetCurrentEcoSpace()); // Next 2 rows are optional - needed when mixing WinForms and WPF to make keyboard work AutoFormWPF.OnNewAutoFormWPFCreated += (s, e) => { System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(e.AutoFormWPF); }; System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(wpfdebugger); wpfdebugger.Show();
In the code above, notice the System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop call on the WPF form. This ensures that keys and events work for true WPF forms in a Windows forms environment.
This page was edited more than 11 months ago on 02/10/2024. What links here