我将 UserControl 更改为 ReactiveUserControl ,现在我无法查看设计视图。我能做些什么来让设计师使用ReactiveUserControl吗?
答案 0 :(得分:8)
当控件或窗口直接从泛型类继承时,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">