Я изменил свой UserControl на ReactiveUserControl, и теперь я не могу просматривать представление «Дизайн». Могу ли я что-нибудь сделать, чтобы дизайнер работал с 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">
Просто чтобы добавить после редактирования, вы можете получить сообщение «Имя« MyUserControlBase »не существует в пространстве имен« clr-namespace: ******** ». Убедитесь, что и перестройте проект после изменений.