我刚开始编码。调用Helloworld代码时,出现以下错误:xamarin.forms.xamlparseexception:位置12:13无法分配属性“ click”:属性不存在,或不可分配,或值与属性之间的类型不匹配

我要调试的设备王戴智能手表KW88-android 5.1。

码:

namespace HelloWorld
{
    [global::Xamarin.Forms.Xaml.XamlFilePathAttribute("C:\\Users\\Gizem\\source\\repos\\HelloWorld\\HelloWorld\\HelloWorld\\MainPage.xaml")]
    public partial class MainPage : global::Xamarin.Forms.ContentPage {

        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")]
        private void InitializeComponent() {
            global::Xamarin.Forms.Xaml.Extensions.LoadFromXaml(this, typeof(MainPage));//Exception here!!!*****
        }
    }
}


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">

<Label Text="Welcome to Xamarin.Forms!"
       VerticalOptions="Center"
       HorizontalOptions="Center" />
<Entry Placeholder="Write your name"/>
<Button Text="say hello"
        Click="Button_Click"/>




xaml.cs:

using System;
using Xamarin.Forms;

namespace HelloWorld
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        void Button_Click(object sender, EventArgs e)
        {

        }

    }
}

最佳答案

要绑定的属性命名为Clicked,而不是Click。将您的代码更改为

<Button Text="say hello"
        Clicked="Button_Click"/>


它应该工作。

编辑

Alessandro Caliaro指出,ContentPage只能包含一个元素,这是一个很好的观点。因此,您还需要将控件包装到容器中,例如StackLayout

<StackLayout VerticalOptions="Center" >
    <Label Text="Welcome to Xamarin.Forms!"
           HorizontalOptions="Center" />
    <Entry Placeholder="Write your name"/>
    <Button Text="say hello"
            Clicked="Button_Click"/>
</StackLayout>

关于c# - Xamarin.Forms.Xaml.XamlParseException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49917062/

10-12 12:43