2016-06-03 3 views

ответ

2

XAML vs code полностью основан на мнениях. Общее мнение похоже на то, что XAML как язык разметки намного лучше подходит и обеспечивает намного более четкое разделение пользовательского интерфейса от логики приложения. Я лично никогда не подумал бы о том, чтобы делать страницы в коде, XAML полностью. Еще один момент в пользу XAML заключается в том, что если вы используете события или ссылаетесь на другие элементы управления (что, давайте посмотрим правде в глаза, каждое приложение), вы даже не можете вложить кучу инициализаторов для построения структурированного пользовательского интерфейса, вам нужно назначить элементы управления для имени переменные, чтобы иметь возможность ссылаться на них. В XAML вы можете добавить x: Name в любой момент, и у вас есть ссылка на этот элемент управления как с кода, так и с остальной частью разметки XAML.

Единственное, что вы не можете сделать в XAML - это динамически программно генерировать макет или настраивать его на основе некоторых переменных времени выполнения. Но даже здесь лучше всего разместить шаблон в XAML, а затем в коде позади вы можете использовать конструктор (или переопределить onappearing, если вы хотите, чтобы страница менялась каждый раз, когда она перемещалась) и заполнять динамическую часть из C# код.

Эксплуатационные характеристики. Раньше было немного преимуществ для кодовых страниц, поскольку XAML приходилось анализировать каждый раз во время выполнения. Однако какое-то время Xamarin.Forms поддерживал компиляцию файлов XAML раньше времени, что означает, что они более или менее идентичны.

+0

У меня есть проблема с UI в Android-устройстве с низким начальником при разработке страниц с использованием XAML. Но он работает плавно в iOS и Android-устройствах высокого уровня. –

+0

Остается ли проблема при перезаписи страницы в коде? Я почти на 100% уверен, что это так. Единственное, на что нужно обратить внимание, - никогда не устанавливать свойство XAML в значение по умолчанию. Это более дорого, чем вообще не устанавливать свойство. Кроме того, если у вас включена компиляция XAML (компиляция google xamarin.forms xaml), вы должны видеть идентичную производительность. – irreal

+0

Я создал три страницы в коде XAML и C#, я вижу некоторые проблемы с производительностью на страницах, использующих XAML во время навигации. Как включить компиляцию XAML. –

Смежные вопросы