未找到“的属性、BindableProperty或事件”;“高度请求”;,或Xamarin.Forms中的值和属性之间的类型不匹配错误

未找到“的属性、BindableProperty或事件”;“高度请求”;,或Xamarin.Forms中的值和属性之间的类型不匹配错误,xamarin.forms,compiler-errors,Xamarin.forms,Compiler Errors,不是复制品 我对Xamarin.Forms完全陌生,正在尝试我的第一个Hello World应用程序。 我编写了以下代码: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsof

不是复制品

我对Xamarin.Forms完全陌生,正在尝试我的第一个
Hello World
应用程序。
我编写了以下代码:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="hello_world.MainPage">
    <StackLayout>
        <Label 
            Text="Welome" 
            BackgroundColor="Yellow" 
            TextColor="Green" 
            HeightRequest="{ConstraintExpression Type=RelativeToView, Factor=0.05, Constant=0}"
            FontSize="Medium" />
    </StackLayout>

</ContentPage>

我哪里出错了?

您将
标签放在里面,而您使用的值,如
{ConstraintExpression Type=RelativeToView,Factor=0.05,Constant=0}
用于

这是两种不同的布局,不能混用。阅读文档并检查示例以了解如何使用它们

如果有任何问题,请随时问我:)

更新代码:

<RelativeLayout>
    <Label 
        Text="Welome" 
        BackgroundColor="Yellow" 
        TextColor="Green" 
        FontSize="Medium"

        RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"

        RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToView, Factor=0.05,Property= Height, Constant=0}"
         />
</RelativeLayout>

请原谅
高度请求是可绑定的属性。
您的案例是“值和属性之间的类型不匹配”,它只能是
double
,您不能将其绑定到
约束表达式

我基本上想做的是将标签的高度设置为 渲染设备的高度

好的,如果这只是你的问题,那么就这样使用它:

<RelativeLayout>
    <Label 
        Text="Welome" 
        BackgroundColor="Yellow" 
        TextColor="Green"
        RelativeLayout.HeightConstraint="{ConstraintExpression RelativeToParent,Property=Height,Factor=0.05,Constant=0}"
        RelativeLayout.WidthConstraint="{ConstraintExpression RelativeToParent,Property=Height,Factor=0.05,Constant=0}"
        FontSize="Medium" />
</RelativeLayout>


您面临的异常是由于语法错误。您必须将父布局替换为RelativeLayout而不是StackLayout

嗯,这甚至可能是一个XY问题。我主要想做的是将标签的高度设置为渲染设备高度的5%height@d4rk4ng31你应该使用RelativeLayout,看看我的更新代码。我实际上不记得确切的帖子(在这里的某个地方),但是有一条评论说,尽量避免相对布局。如果你想实现
将标签高度设置为渲染设备高度的5%
,相对布局是比其他布局更好的选择。每个布局都有优点和缺点。请详细说明你的情况“值和属性之间的类型不匹配”,它只能是双精度的,您不能将其绑定到约束表达式上面回答了您的问题“我哪里出错了?”我的意思是,什么是可绑定属性?
<RelativeLayout>
    <Label 
        Text="Welome" 
        BackgroundColor="Yellow" 
        TextColor="Green"
        RelativeLayout.HeightConstraint="{ConstraintExpression RelativeToParent,Property=Height,Factor=0.05,Constant=0}"
        RelativeLayout.WidthConstraint="{ConstraintExpression RelativeToParent,Property=Height,Factor=0.05,Constant=0}"
        FontSize="Medium" />
</RelativeLayout>