没有为Button的'HeightRequest'找到属性,可绑定属性或事件

时间:2018-01-09 18:32:40

标签: xamarin xamarin.forms xamarin.ios

我有一个嵌入式Xamarin Forms的IOS应用程序。我创建了一个带按钮的简单视图,并希望根据平台设置这些按钮的高度。这是我的代码:

        <Button Text="{Binding SendFeedbackButtonText}"
                Command="{Binding SendEarlyFeedbackCommand}"
                HorizontalOptions="FillAndExpand"
                Margin="3,0,3,0" >
            <Button.Effects>
                <effects:PrimaryButtonEffect />
            </Button.Effects>
            <Button.HeightRequest>
                <OnPlatform x:TypeArguments="x:Double">
                    <On Platform="iOS" Value="37"/>
                </OnPlatform>
            </Button.HeightRequest>
        </Button>

但这会在构建中出现以下错误:

No property, bindable property, or event found for 'HeightRequest', or mismatching type between value and property.

当我在按钮标记中设置HeightRequest修复时,它可以正常工作。

Xamarin.Forms版本:2.5.0.121934

我还使用Xamarin.Forms和.net标准2.0创建了一个新的空白应用程序来试试这个。只要您没有设置XamlCompilation属性,它就可以工作:

[XamlCompilation(XamlCompilationOptions.Compile)]

您可以在此处找到该项目:{{3}}

我做错了什么?

1 个答案:

答案 0 :(得分:2)

根据您的Forms版本,尝试将其切换为

<Button.HeightRequest>
    <OnPlatform x:TypeArguments="x:Double" iOS="37"/>
</Button.HeightRequest>

<Button.HeightRequest>
    <OnPlatform x:TypeArguments="x:Double">
        <On Platform="iOS">37</On>
    </OnPlatform>
</Button.HeightRequest>