Я самоучка Ксамарин. Я начал изучать это из учебника Miscrosoft на их веб-сайте. И они предполагают, что код xaml будет выглядеть так:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px">
<Button
android:text="Add New Recepie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/generalAddButton"
android:bufferType="normal" />
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recepeListView" />
</LinearLayout>
Но когда я смотрю некоторые видео на Lynda.com, я предлагаю стиль кода
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Paperboy.Pages.ListViewPage1"
Title="ListView">
<ListView Margin="20" ItemsSource="{Binding ItemsGrouped}"
ItemTapped="Handle_ItemTapped"
ItemSelected="Handle_ItemSelected"
HasUnevenRows="true"
GroupShortNameBinding="{Binding Key}"
IsGroupingEnabled="true"
GroupDisplayBinding="{Binding Key}"
IsPullToRefreshEnabled="true"
CachingStrategy="RecycleElement"
IsRefreshing="{Binding IsBusy, Mode=OneWay}"
RefreshCommand="{Binding RefreshDataCommand}">
<ListView.Header>
<StackLayout Padding="10"
Orientation="Horizontal"
HorizontalOptions="FillAndExpand"
BackgroundColor="#dadada">
<Label Text="Header"
HorizontalTextAlignment="Center"
HorizontalOptions="FillAndExpand"
TextColor="Black"
FontAttributes="Bold"/>
</StackLayout>
</ListView.Header>
<!--Built in Cells-->
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Text}"
Detail="{Binding Detail}"/>
</DataTemplate>
Большая разница заключается в связывании междукод и пользовательский интерфейс. Microsoft использует нотацию «+ id / ID», а люди из Lynda используют нотацию «x: ID» и «{Binding ID}». Что является более правильным / общим / полезным в реальном мире? Особенно, если я хочу загрузить некоторые предопределенные шаблоны xaml пользовательского интерфейса.