|
Tela

Fonte Xamarin.Forms
using System;
using Xamarin.Forms;
using System.Diagnostics;
using System.Globalization;
namespace EntrySomenteNumeros
{
public class App : Application
{
Label lbValor;
Entry edValor;
public App ()
{
Entry edNormal = new Entry ();
Entry edEmail = new Entry { Keyboard = Keyboard.Email };
Entry edUrl = new Entry { Keyboard = Keyboard.Url };
Entry edFone = new Entry { Keyboard = Keyboard.Telephone };
Entry edChat = new Entry { Keyboard = Keyboard.Chat };
Entry edInteiro = new Entry { Keyboard = Keyboard.Numeric }; // mostra teclado numéico
edInteiro.TextChanged += OnInteiroChanged;
DatePicker edData = new DatePicker ();
edData.Date = DateTime.Now;
Button botao = new Button ();
botao.Text = "Converter edValor para decimal";
botao.Clicked += OnButtonClicked;
edValor = new Entry { Keyboard = Keyboard.Numeric }; // mostra teclado numéico
lbValor = new Label { Text = "0.00" };
StackLayout layout = new StackLayout ();
layout.Children.Add (new Label { Text = "Normal" });
layout.Children.Add (edNormal);
layout.Children.Add (new Label { Text = "Data" });
layout.Children.Add (edData);
layout.Children.Add (new Label { Text = "Valor" });
layout.Children.Add (edValor);
layout.Children.Add (new Label { Text = "Inteiro" });
layout.Children.Add (edInteiro);
layout.Children.Add (new Label { Text = "Email" });
layout.Children.Add (edEmail);
layout.Children.Add (new Label { Text = "URL" });
layout.Children.Add (edUrl);
layout.Children.Add (new Label { Text = "Fone" });
layout.Children.Add (edFone);
layout.Children.Add (new Label { Text = "Chat" });
layout.Children.Add (edChat);
layout.Children.Add (botao);
layout.Children.Add (lbValor);
MainPage = new ContentPage { Content = layout };
}
private void OnButtonClicked (object sender, EventArgs e)
{
var texto = edValor.Text;
if (texto.Length == 0) {
lbValor.Text = "0,00";
return;
}
decimal valor = 0;
if (decimal.TryParse (texto.Replace('.', ','), out valor))
lbValor.Text = valor.ToString("#.##");
}
private void OnInteiroChanged (object sender, EventArgs e)
{
Entry ent = (Entry)sender;
if (ent.Text.IndexOf ('.') > -1)
ent.Text = ent.Text.Replace (".", string.Empty);
}
}
}
|