В версии Visual Studio 15.8 мы потеряли (снова) конструктор XAML в проекте UWP, который использует некоторые пользовательские элементы управления.
Когда мы открываем файл XAML в режиме конструктора, он показывает большой желтый цветграницы вокруг некоторых наших пользовательских элементов управления.
![enter image description here](https://i.stack.imgur.com/NUd5Z.png)
Я знаю, что эта желтая рамка появляется, потому что пользовательский элемент управления создает исключение во время разработки.Но у меня нет подробностей об этом исключении.В списке ошибок Visual Studio нет ошибок.Никаких сообщений об ошибках нет ...
Я хотел бы отладить свои пользовательские элементы управления, чтобы я мог решить проблему.Я искал и не могу найти способ отладки в режиме разработки UWP XAML ...
Не могли бы вы рассказать, как я могу отладить или получить более подробную информацию о том, что происходит в режиме разработки?
Редактировать: Я наконец-то получил несколько ошибок в списке ошибок VS:
![enter image description here](https://i.stack.imgur.com/EDKH0.png)
(Извините, моя Visual Studio на французском языке),Если я перекомпилирую свое решение, ошибки просто исчезают.Но конструктор все еще непригоден для использования.
Редактировать 2: Вот код для CommandViewModelCollection и CommandViewModel.Эти классы находятся в универсальной библиотеке Windows.Мое приложение UWP ссылается на этот libray:
public class CommandViewModelCollection : ObservableCollection<CommandViewModel>
{
}
public class CommandViewModel : ViewModelBase
{
public ICommand Command
{
get { return _Command; }
set
{
if (_Command != value)
{
_Command = value;
this.OnPropertyChanged(_CommandChangedEventArgs);
}
}
}
private ICommand _Command;
private static readonly PropertyChangedEventArgs _CommandChangedEventArgs = new PropertyChangedEventArgs(nameof(Command));
public ImageSource Icon
{
get { return _Icon; }
set
{
if (_Icon != value)
{
_Icon = value;
this.OnPropertyChanged(_IconChangedEventArgs);
}
}
}
private ImageSource _Icon;
private static readonly PropertyChangedEventArgs _IconChangedEventArgs = new PropertyChangedEventArgs(nameof(Icon));
}
public abstract class ViewModelBase : INotifyPropertyChanged
{
protected ViewModelBase()
{
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(PropertyChangedEventArgs args)
{
this.PropertyChanged?.Invoke(this, args);
}
public string DisplayName
{
get { return _DisplayName; }
set
{
if (_DisplayName != value)
{
_DisplayName = value;
this.OnPropertyChanged(_DisplayNameChangedEventArgs);
}
}
}
private string _DisplayName;
private static readonly PropertyChangedEventArgs _DisplayNameChangedEventArgs = new PropertyChangedEventArgs(nameof(DisplayName));
}