В конструкторе 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">