Xamarin xaml 编码标准
Xamarin xaml coding standarts
我是 Xamarin 的自学者。我已经开始从他们网站上的 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>
最大的区别在于代码和 UI 之间的绑定。 Microsoft 使用“+id/ID”符号,而 Lynda 的人使用 "x:ID" 和“{Binding ID}”符号。
在现实世界中什么更正确/更常见/更有用?特别是如果我想下载一些预定义的 UI xaml 模板。
你的第一个例子是 Xamarin Android UI 布局(不是 XAML),而你的第二个例子是 Xamarin 表单 XAML。这是两个完全不同的东西。
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/
我是 Xamarin 的自学者。我已经开始从他们网站上的 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>
最大的区别在于代码和 UI 之间的绑定。 Microsoft 使用“+id/ID”符号,而 Lynda 的人使用 "x:ID" 和“{Binding ID}”符号。 在现实世界中什么更正确/更常见/更有用?特别是如果我想下载一些预定义的 UI xaml 模板。
你的第一个例子是 Xamarin Android UI 布局(不是 XAML),而你的第二个例子是 Xamarin 表单 XAML。这是两个完全不同的东西。
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/