-
Notifications
You must be signed in to change notification settings - Fork 15
Description
We are currently using a client-server architecture to support UITypeEditor functionality, where the editor's UI is displayed from the Server project. Specifically, we invoke Form.ShowDialog() within the RequestHandler.HandleRequest method to show the UITypeEditor form.
internal class CustomEditorFormHandler : RequestHandler<CustomEditorFormEndpoint.Request, CustomEditorFormEndpoint.Response>
{
public override CustomEditorFormEndpoint.Response HandleRequest(CustomEditorFormEndpoint.Request request)
{
CustomControl customControl = (CustomControl)request.CustomControl;
new CustomEditorForm().ShowDialog();
return new CustomEditorFormEndpoint.Response();
}
}
However, the form does not behave as a true modal dialog. It allows interaction with the underlying Visual Studio window, and users can switch back to Visual Studio even while the form is open—unlike a standard modal experience and the Form moves behind the VS.
The form used in the UITypeEditor relies on custom controls and types from our Control Library, which is only referenced in the Server project. Since the Client project targets .NET Framework—we are unable to move the form or related logic into the Client.
This is currently a blocker in our implementation.
Questions:
- Are there any alternative solutions or approaches to make the form behave like a modal dialog?
- In a client-server design-time model, where is the UITypeEditor UI or form expected to be hosted—on the Client or Server side?
We would appreciate any guidance or recommendations, including any solutions or sample implementations that address this issue.
Demo sample:
CustomControlLibrary_WithSample.zip
Issue replication video: