Managed Composite Control Hosting in Unmanaged Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GUI technologies face fragility and complexity when combining different technologies to host managed composite controls, often requiring multi-layered hosting mechanisms that are cumbersome and inefficient.

Innovation Solution

A managed hosting control is provided that can directly host managed composite controls within unmanaged applications, eliminating the need for intermediary layers by using overloaded methods to manage communication between layers and wrapping managed composite control content with adapters to handle interactions between different frameworks like WPF and Windows Forms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multi-layered hosting mechanisms are used to host managed composite controls, then compatibility between different GUI frameworks is achieved, but device complexity and fragility increase

Engineering Contradiction:
Improvecompatibility between different GUI frameworksVSAvoidhosting mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a managed hosting control as an intermediary component that sits between the unmanaged hosting control and the managed composite control. This intermediary manages the complexity of interoperability between different GUI frameworks (Windows Forms, WPF, WinRT) by providing a standardized interface, thereby maintaining compatibility while reducing the visible complexity to the user.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The managed hosting control is designed to be universal, capable of hosting multiple types of managed composite controls from different frameworks (Windows Forms, WPF, WinRT) within a single unmanaged hosting control. This multi-functionality eliminates the need for separate hosting mechanisms for each framework, reducing overall system complexity while maintaining broad compatibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If multi-layered hosting mechanisms are used to host managed composite controls, then framework interoperability is achieved, but reliability decreases due to fragility

Engineering Contradiction:
Improveframework interoperabilityVSAvoidhosting solution stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The managed hosting control serves as a stable intermediary layer that isolates the fragility of direct multi-layered interactions. By managing communication between layers and providing a standardized interface, it reduces the impact of changes in underlying frameworks, thereby improving reliability while maintaining interoperability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If direct hosting of managed composite controls is implemented, then device complexity is reduced, but ease of operation deteriorates due to communication management challenges

Engineering Contradiction:
Improvehosting layer structureVSAvoidcommunication between layers
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The managed hosting control implements self-service by automatically managing communication between layers through overloaded methods. Instead of requiring manual configuration of inter-layer communication, the system self-adjusts and handles the complexity of coordinating between unmanaged and managed controls, thereby maintaining simplicity while improving ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9052924B2Light-weight managed composite control hosting
Publication Date: 2015.06.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9052924B2 patent drawing
  • US9052924B2 patent drawing
  • US9052924B2 patent drawing

AI summary

A managed composite control can be directly (without intermediary hosting layers) hosted within an unmanaged hosting application. A managed control which can host managed composite controls is provided, the managed control being directly hostable within any unmanaged hosting control. An adapter (control) wraps the managed control content before the control content is moved into the unmanaged layer. Overloaded methods are provided that accept managed controls and manage communication between layers in such a way that instead of internal references expecting a user control, the internal references expect an object.