我将 UserControl 更改为 ReactiveUserControl ,现在我无法查看设计 View 。有什么我可以做的让设计师使用 ReactiveUserControl 吗?

最佳答案

当您的控件或窗口直接从泛型类继承时,Visual Studio 设计器会出现问题。这也是WinForms的一个非常普遍的问题。您可以通过定义位于通用 ReactiveUserControl 和您的控件之间的另一个非通用类来解决此问题:

public partial class MyUserControl : MyUserControlBase
{
    public MyUserControl()
    {
        InitializeComponent();
    }
}

public abstract class MyUserControlBase: ReactiveUserControl<MyUserControlViewModel>
{
}

在 XAML 中,我们的根对象元素被定义为基元素( MyUserControlBase ),其类声明连接到上面定义的部分类( MyUserControl ):
<myNameSpace:MyUserControlBase
    x:Class="MyNameSpace.MyUserControl"
    xmlns:myNameSpace="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

关于wpf - 通用 ReactiveUserControl "cannot be edited in Design view",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50219382/

10-13 03:18