ReactiveUserControl нельзя редактировать в представлении «Дизайн» - PullRequest
0 голосов
/ 07 мая 2018

Я изменил свой UserControl на ReactiveUserControl , и теперь я не могу просматривать представление конструктора. Что я могу сделать, чтобы дизайнер работал с ReactiveUserControl?

1 Ответ

0 голосов
/ 07 мая 2018

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