web-dev-qa-db-ja.com

Xamarin Frameは単一の丸みを帯びたコーナーしかありません

簡単な質問私は4つすべての代わりに1つの丸みを帯びた角を持つフレームが必要です。どのように私はフレームの角の一つだけを一周できます(私の場合は右上)?

フレーズをフレーズするもう1つの方法:フレームの1つの隅の角を付けてください。

5

これはUWPレンダラー用です

私はCherry Bu-MSFTのソリューションを使用してUWP用に変更しました。私のプロジェクトでは、Android、IOS、UWPで使用していて、それはうまく機能しています。

using System.ComponentModel;
using Windows.UI.Xaml.Media;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;

[Assembly: ExportRenderer(typeof(CustomFrame), typeof(yourNamespace.UWP.CustomFrameRenderer))]
namespace yourNamespace.UWP
{
    public class CustomFrameRenderer : FrameRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Frame> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null && Control != null)
            {
                UpdateCornerRadius();
            }
        }

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

            if (e.PropertyName == nameof(CustomFrame.CornerRadius) ||
                e.PropertyName == nameof(CustomFrame))
            {
                UpdateCornerRadius();
            }
        }

        private void UpdateCornerRadius()
        {
            var radius = ((CustomFrame)this.Element).CornerRadius;
            Control.CornerRadius = new Windows.UI.Xaml.CornerRadius(radius.TopLeft, radius.TopRight, radius.BottomRight, radius.BottomLeft);
        }
    }
}
 _
0
Sven

NUGETパッケージxamarin.forms.pancakeviewを使用してください。 enter image description here

同様の質問に対するこの答えを見てください:

https://stackoverflow.com/a/59650125/5869384

0
David Jesus