I have 4 text inputs and a button:
<Entry x:Name="Densidade"
Keyboard="Numeric"/>
<Entry x:Name="Volume"
Keyboard="Numeric"/>
<Entry x:Name="Area"
Keyboard="Numeric"/>
<Entry x:Name="Custo"
Keyboard="Numeric"/>
<Button x:Name="Button"
Text="Calcular"
HorizontalOptions="FillAndExpand"
VerticalOptions="EndAndExpand"
Clicked="Handle_Clicked"/>
In the Behind code I convert them to double, I make a calculation and send the result to a Page2 through Class2
//Botão que transforma os dados em variáveis e passa para a página de resultados
private async void Handle_Clicked(object sender, EventArgs e)
{
class2 = new Class2();
//Converte os valores obtidos na entrada em tipo double
double a, d, r, v;
a = Double.Parse(Area.Text);
d = Double.Parse(Densidade.Text);
r = Double.Parse(Custo.Text);
v = Double.Parse(Volume.Text);
//calculo
class2.Calculo1 = d * a * (v / 1000) * r;
//chama Page1 passando objeto class2
await Navigation.PushAsync(new Page1(class2));
}
However, if any of the entries are not filled, the following error occurs:
I'vetriedsolutionslike:
privateasyncvoidHandle_Clicked(objectsender,EventArgse){class2=newClass2();doublea,d,r,v;if(Densidade.Text=="")
d = 0;
else
d = Double.Parse(Densidade.Text);
if (Volume.Text == "")
v = 0;
else
v = Double.Parse(Volume.Text);
if (Area.Text == "")
a = 0;
else
a = Double.Parse(Area.Text);
if (Custo.Text == "")
r = 0;
else
r = Double.Parse(Custo.Text);
//calculo
class2.Calculo1 = d * a * (v / 1000) * r;
//chama Page1 passando objeto class2
await Navigation.PushAsync(new Page1(class2));
}
or
private async void Handle_Clicked(object sender, EventArgs e)
{
if ((Densidade.Text == "") || (Volume.Text == "")
|| (Area.Text == "") || (Custo.Text == ""))
{
await Navigation.PushAsync(new MainPage());
await DisplayAlert("Atenção", @"Todos os campos devem ser preenchidos", "Ok");
}
else
{
class2 = new Class2();
//Converte os valores obtidos na entrada em tipo double
double a, d, r, v;
a = Double.Parse(Area.Text);
d = Double.Parse(Densidade.Text);
r = Double.Parse(Custo.Text);
v = Double.Parse(Volume.Text);
//calculos
class2.Calculo1 = d * a * (v / 1000) * r;
//chama Page1 passando objeto class2
await Navigation.PushAsync(new Page1(class2));
}
}