Специфичная для платформы CornerRadius на <Frame>Xamarin.Forms - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь назначить разные CornerRadius на iOS и Android, например:

<Frame
    HasShadow="false"
    Padding="10"
    BackgroundColor="Red">
    <Frame.CornerRadius>
        <OnPlatform x:TypeArguments="x:Double">
            <On
                Platform="iOS">20</On>
            <On
                Platform="Android">30</On>
        </OnPlatform>
    </Frame.CornerRadius>
    <Label
        Text="Hello World" />
</Frame>

Но получаю

Невозможно назначить свойство "CornerRadius": свойство не существует, или его нельзя назначить, или несовпадающий тип между значением и свойством

Я пробовал x:TypeArguments="Thickness" и x:TypeArguments="x:Int32". Декомпиляция сборки выглядит так: CornerRadius имеет тип float. Однако в x namespace свойство Float отсутствует, я имею в виду, что x:TypeArguments="x:Float" не существует.

Есть идеи, что я делаю не так или это ошибка?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Тип CornerRadius является Single:

<Frame HasShadow="true" OutlineColor="Red">
    <Frame.CornerRadius>
        <OnPlatform x:TypeArguments="x:Single">
            <On Platform="iOS" Value="20"/>
            <On Platform="Android" Value="30"/>
        </OnPlatform>
    </Frame.CornerRadius>
    <Frame.Content>
        <Label Text="Welcome to Xamarin Forms!" VerticalOptions="Center" HorizontalOptions="Center" />
    </Frame.Content>
</Frame>
0 голосов
/ 09 мая 2018

Ну, я упал, здесь есть синтаксическая ошибка, сделайте что-то вроде этого:

<Frame.CornerRadius>
 <OnPlatform x:TypeArguments="x:Single">
        <OnPlatform.Platforms>
            <On Platform="iOS" Value="20" />
            <On Platform="Android" Value="30" />
            <On Platform="UWP" Value="30" />
        </OnPlatform.Platforms>
    </OnPlatform>
 </Frame.CornerRadius>

Попробуйте это, и если это не сработает, пожалуйста, верните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...