a) Как мне просто и легко отредактировать десятичную дробь как * 100? б) Могу ли я показать символ%?
Вы можете использовать событие UnFocused
для отображения десятичного значения как символа%.
Xaml:
<Entry x:Name="entry" Unfocused="entry_Unfocused"/>
Код:
private void entry_Unfocused(object sender, FocusEventArgs e)
{
var entry = sender as Entry;
decimal value;
if (Decimal.TryParse(entry.Text, out value))
{
entry.Text = value.ToString("P");
}
else
{
DisplayAlert("Error", "Please input decimal", "Cancel");
}
}
c) Могу ли я выполнить преобразование условно: когда поле Y = 1, показывать в процентах , Когда поле Y = 2, показывать как десятичное?
Xaml:
<StackLayout>
<Label x:Name="label" Text="Y:" />
<Entry x:Name="entry_Y" />
<Entry x:Name="entry" Unfocused="entry_Unfocused" />
</StackLayout>
Код:
private void entry_Unfocused(object sender, FocusEventArgs e)
{
var entry = sender as Entry;
if (entry_Y.Text=="1")
{
decimal value;
if (Decimal.TryParse(entry.Text, out value))
{
entry.Text = value.ToString("P");
}
else
{
DisplayAlert("Error", "Please input decimal", "Cancel");
}
}
else if (entry_Y.Text == "2")
{
decimal value;
if (Decimal.TryParse(entry.Text, out value))
{
entry.Text = value.ToString();
}
else
{
DisplayAlert("Error", "Please input decimal", "Cancel");
}
}
}