Este documento presenta una introducción a Xamarin.Forms, incluyendo cómo construir interfaces nativas para iOS, Android y Windows Phone desde una única base de código C# compartida. También describe elementos como páginas, layouts, controles, convertidores, animaciones, triggers y comportamientos que permiten crear aplicaciones multiplataforma.
3. Xamarin.Forms – Y esto que leches es?
iOS
Android
Windows Phone
Construir interfaces nativas para iOS, Android y Windows Phone desde una única
base de código C# compartida.
4. Xamarin.Forms – Y esto que leches es?
Construir interfaces nativas para iOS, Android y Windows Phone desde una única
base de código C# compartida.
4
XAMARIN
XAMARIN.FORMS
Android 4.0+ Windows Phone 8.0iOS 6.1+ Windows Phone 8.0 (Silverlight)
12. Xamarin.Forms – Controles
Colección de objetos visuales que son representados por sus homónimos en cada
una de las plataformas.
1
2
<Label Text="{Binding MainText}" Font="Large"
VerticalOptions="Center" HorizontalOptions="Center" />
<Button Text="Click Me!“ HorizontalOptions="Center"
VerticalOptions="CenterAndExpand“
Clicked="OnButtonClicked" />
XAML
13. Xamarin.Forms – Controles
Colección de objetos visuales que son representados por sus homónimos en cada
una de las plataformas.
1
3
new Label {
XAlign = TextAlignment.Center,
Text = "Welcome to Xamarin Forms!"
}
new Button {
Text = "Click Me!",
Font = Font.SystemFontOfSize(NamedSize.Large),
BorderWidth = 1,
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.CenterAndExpand
};
C#
21. Xamarin.Forms – Event Triggers
Cuando esta propiedad tiene ese valor, a continuación, establece esta otra
propiedad con este nuevo valor.
2
1
public class EntryValidation : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
int parsed;
bool valid = int.TryParse(sender.Text, out parsed);
if (!valid) {
sender.TextColor = Color.Red;
}
else {
sender.TextColor = Color.Blue;
}
}
} <Entry TextColor="Black“ Placeholder="Age">
<Entry.Triggers>
<EventTrigger Event="TextChanged">
<local:EntryValidation />
</EventTrigger>
</Entry.Triggers>
</Entry>