Xamarin.Forms UWP Кнопка рендерера CornerRadius - PullRequest
0 голосов
/ 12 мая 2018

Свойство BorderRadius устарело. Новый CorderRadius не существует в FormsButton в Xamarin. Forms UWP Button Renderer.

Использование устаревшего свойства BorderRadius приводит к сбою приложения.

Control.BorderRadius = Element.CornerRadius; (внутри OnElementPropertyChanged)

Я использую Xamarin 3.0.0.446417 на VS 15.7.1

Спасибо.

Ответы [ 2 ]

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

CornerRadius имеет отрицательное значение, которое вызывает сбой приложения.

protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{

    if (e.PropertyName == "CornerRadius")
    {

        if (Element.CornerRadius >= 0)
        {
            base.OnElementPropertyChanged(sender, e);
        }
    }

}
0 голосов
/ 14 мая 2018

Свойство BorderRadius устарело.

BorderRadius - это свойство FormsButton, которое находится под пространством имен Xamarin.Forms.Platform.UWP, и не подлежит устареванию. И это база свойств расширения для класса рендеринга UWP Button.

CornerRadius - это свойство Button, которое находится под Xamarin.Forms пространством имен. И это кроссплатформенное свойство, которое вы можете отобразить на другой платформе.

Вам не нужно сбрасывать BorderRadius в пользовательском рендере кнопок, вы можете напрямую использовать следующее.

<Button BorderRadius="15" Text="Click"/>

Поскольку он использовался в ButtonRenderer .

...