Отрисовка пользовательских элементов управления в средстве предварительного просмотра XAML
Пользовательские элементы управления иногда не работают должным образом в средстве предварительного просмотра XAML. Используйте инструкции, приведенные в этой статье, чтобы понять ограничения, связанные с предварительным просмотром пользовательских элементов управления.
Предупреждение
Средство предварительного просмотра XAML устарело в Visual Studio 2019 версии 16.8 и Visual Studio для Mac версии 8.8 и заменено функцией XAML Горячая перезагрузка в Visual Studio 2019 версии 16.9 и Visual Studio для Mac версии 8.9. Дополнительные сведения о XAML Горячая перезагрузка см. в документации.
Базовый режим предварительной версии
Даже если вы не создали проект, средство предварительного просмотра XAML отрисовывает страницы. Пока вы не создадите, любой элемент управления, основанный на коде, будет отображать его базовый Xamarin.Forms тип. При создании проекта средство предварительного просмотра XAML попытается отобразить пользовательские элементы управления с включенной отрисовкой времени разработки. Если отрисовка завершается ошибкой, он будет отображать базовый Xamarin.Forms тип.
Включение отрисовки времени разработки для пользовательских элементов управления
Если вы делаете собственные пользовательские элементы управления или используете элементы управления из сторонней библиотеки, средство предварительного просмотра может отображать их неправильно. Пользовательские элементы управления должны принять участие в отрисовке времени разработки, чтобы отображаться в средстве предварительного просмотра, независимо от того, написали ли вы элемент управления или импортировали его из библиотеки. Создав элементы управления, добавьте [DesignTimeVisible(true)]
его в класс элемента управления, чтобы отобразить его в средстве предварительного просмотра:
namespace MyProject
{
[DesignTimeVisible(true)]
public class MyControl : BaseControl
{
// Your control's code here
}
}
В качестве примера используйте базовый класс ImageCirclePlugin в Джеймсе Монтемагно.
Элементы управления SkiaSharp
В настоящее время элементы управления SkiaSharp поддерживаются только при предварительном просмотре в iOS. Они не будут отображаться в предварительной версии Android.
Устранение неполадок
Xamarin.Forms Проверка версии
Убедитесь, что установлен по крайней мере Xamarin.Forms 3.6. Вы можете обновить Xamarin.Forms версию в NuGet.
Даже при использовании [DesignTimeVisible(true)]
пользовательского элемента управления не отображается правильно.
Пользовательские элементы управления, которые сильно зависят от кода или внутренних данных, не всегда работают в средстве предварительного просмотра XAML. Вы можете сделать следующее:
- Перемещение элемента управления, поэтому оно не инициализируется, если включен режим конструктора
- Настройка данных времени разработки для отображения поддельных данных из серверной части
В средстве предварительного просмотра XAML показано сообщение об ошибке "Пользовательские элементы управления не отображаются должным образом".
Попробуйте очистить и перестроить проект или закрыть и повторно открыть XAML-файл.