未找到“的属性、BindableProperty或事件”;“高度请求”;,或Xamarin.Forms中的值和属性之间的类型不匹配错误
不是复制品 我对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
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>