我是Xamarin形式的初学者。
我写了一个简单的代码,将两个数字相加。 但是在Visual Studio文件后面的代码中,不要在智能感知中提供条目(x:Name),当我显式键入并将其转换为整数并将它们添加在一起时,模拟器将显示“未捕获的异常:指定的Cast无效”。
我多次清理了解决方案并重新构建,但是 情况还是一样!
MainPage.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:HelloWorld"
x:Class="HelloWorld.MainPage">
<StackLayout>
<!-- Place new controls here -->
<Label Text="Welcome to Xamarin-Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Entry x:Name="first_number" Placeholder="Enter First Number" />
<Entry x:Name="second_number" Placeholder="Enter Second Number" />
<Button x:Name="btn_click" Text="Add" Clicked="Btn_click_Clicked"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage>
MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace HelloWorld
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void Btn_click_Clicked(object sender, EventArgs e)
{
int firstNumber = Convert.ToInt32(first_number);
int secondNumber = Convert.ToInt32(second_number);
int result = firstNumber + secondNumber;
DisplayAlert("On Button Click Event", "Addition of Two Number is : " + result, "OK");
}
}
}
答案 0 :(得分:-1)
您正在尝试将Entry转换为Int。
您想要的是输入值,更具体地说是first_number.Text;
所以,在您的代码中
int firstNumber = Convert.ToInt32(first_number.Text);
int secondNumber = Convert.ToInt32(second_number.Text);