Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
A Shape , ekrana şekil çizmenizi sağlayan bir türüdür View . Shape nesneleri, sınıf sınıfından türetildiği için düzen sınıflarının ve çoğu denetimin Shape View içinde kullanılabilir.
Xamarin.FormsŞekiller iOS, Android, macOS, Evrensel Windows Platformu (UWP) ve Windows Presentation Foundation (WPF) üzerindeki ad alanında bulunurXamarin.Forms.Shapes.
Shape aşağıdaki özellikleri tanımlar:
AspecttüründeStretch, şeklin ayrılan alanını nasıl doldurduğunu açıklar. Bu özelliğin varsayılan değeridirStretch.None.FilltüründeBrush, şeklin içini boyamak için kullanılan fırçayı gösterir.StroketüründeBrush, şeklin ana hattını boyamak için kullanılan fırçayı gösterir.StrokeDashArray, türündedirDoubleCollectionve bir şeklin ana hatlarını oluşturmak için kullanılan tire ve boşluk desenini gösteren bir değer koleksiyonunudoubletemsil eder.StrokeDashOffsettüründedouble, tire deseninin içinde bir tirenin başladığı uzaklığı belirtir. Bu özelliğin varsayılan değeri 0,0'dır.StrokeLineCaptüründePenLineCap, bir çizginin veya kesimin başındaki ve sonundaki şekli açıklar. Bu özelliğin varsayılan değeridirPenLineCap.Flat.StrokeLineJointüründePenLineJoin, şeklin köşelerinde kullanılan birleştirme türünü belirtir. Bu özelliğin varsayılan değeridirPenLineJoin.Miter.StrokeMiterLimit, türündekidouble, bir şeklin yarıya kadar olan sicim uzunluğununStrokeThicknessoranı üzerindeki sınırı belirtir. Bu özelliğin varsayılan değeri 10,0'dır.StrokeThickness, türündekidoubleşeklin ana hattının genişliğini gösterir. Bu özelliğin varsayılan değeri 1.0'dır.
Bu özellikler nesneler tarafından BindableProperty desteklenir; bu da veri bağlamalarının hedefleri olabileceği ve stillendirilebileceği anlamına gelir.
Xamarin.Forms sınıfından türetilen Shape bir dizi nesne tanımlar. Bunlar , , Line, , , Polylineve Rectangle' lerdirEllipse. PolygonPath
Şekilleri boyama
Brushnesneleri, şekillerin ve Fill'lerini Stroke boyamak için kullanılır:
<Ellipse Fill="DarkBlue"
Stroke="Red"
StrokeThickness="4"
WidthRequest="150"
HeightRequest="50"
HorizontalOptions="Start" />
Bu örnekte, bir Ellipse öğesinin vuruşu ve dolgusu belirtilir:

Önemli
Brushnesneleri, özellik için Stroke değerlerin belirtilebilir olmasını sağlayan Color bir tür dönüştürücüsü kullanır.
için Strokebir Brush nesne belirtmezseniz veya 0 olarak ayarlarsanızStrokeThickness, şeklin etrafındaki kenarlık çizılmaz.
Nesneler hakkında Brush daha fazla bilgi için bkz Xamarin.Forms . Fırçalar. Geçerli Color değerler hakkında daha fazla bilgi için bkz . içindeki Xamarin.Formsrenkler.
Şekilleri esnetme
Shapenesneleri türünde Stretchbir Aspect özelliğe sahiptir. Bu özellik, nesnenin Shape içeriğinin nesnenin düzen alanını dolduracak Shape şekilde nasıl genişletileceğini belirler. Nesnenin Shape düzen alanı, açık WidthRequest ve HeightRequest ayar nedeniyle veya ve VerticalOptions ayarları nedeniyle düzen sistemi tarafından Xamarin.Forms ayrılan alan Shape miktarıdırHorizontalOptions.
Numaralandırma Stretch aşağıdaki üyeleri tanımlar:
None, içeriğin özgün boyutunu koruduğunu gösterir. Bu özelliğin varsayılan değeridirShape.Aspect.Fill, içeriğin hedef boyutları dolduracak şekilde yeniden boyutlandırıldığını gösterir. En boy oranı korunmaz.Uniform, içeriğin hedef boyutlara sığacak şekilde yeniden boyutlandırıldığını ve en boy oranının korunduğunu gösterir.UniformToFill, içeriğin hedef boyutları dolduracak şekilde yeniden boyutlandırıldığını ve en boy oranının korunduğunu gösterir. Hedef dikdörtgenin en boy oranı kaynaktan farklıysa, kaynak içerik hedef boyutlara sığacak şekilde kırpılır.
Aşağıdaki XAML özelliğin Aspect nasıl ayarlandığını gösterir:
<Path Aspect="Uniform"
Stroke="Yellow"
Fill="Red"
BackgroundColor="LightGray"
HorizontalOptions="Start"
HeightRequest="100"
WidthRequest="100">
<Path.Data>
<!-- Path data goes here -->
</Path.Data>
</Path>
Bu örnekte, bir Path nesne bir kalp çizer. Nesnenin Path WidthRequest ve HeightRequest özellikleri, cihazdan bağımsız 100 birim ve Aspect özelliği olarak Uniformayarlanır. Sonuç olarak, nesnenin içeriği hedef boyutlara sığacak şekilde yeniden boyutlandırılır ve en boy oranı korunarak:

Kesikli şekiller çizme
Shapenesneleri türünde DoubleCollectionbir StrokeDashArray özelliğe sahiptir. Bu özellik, bir şeklin double ana hatlarını oluşturmak için kullanılan tire ve boşluk desenini gösteren bir değer koleksiyonunu temsil eder. ADoubleCollection, değerlerden oluşan double bir ObservableCollection değerdir. Koleksiyondaki her double biri bir tirenin veya boşluğun uzunluğunu belirtir. Dizin 0'da bulunan koleksiyondaki ilk öğe, tire uzunluğunu belirtir. Dizin 1'de bulunan koleksiyondaki ikinci öğe, bir boşluğun uzunluğunu belirtir. Bu nedenle, çift dizin değerine sahip nesneler tireler belirtirken, tek bir dizin değerine sahip nesneler boşluklar belirtir.
Shape nesneleri, tire deseni içinde tirenin StrokeDashOffset başladığı uzaklığı belirten türünde doublebir özelliğine de sahiptir. Bu özelliğin ayarlanmaması, düz bir ana hattın olmasıyla Shape sonuçlanır.
Kesikli şekiller hem hem StrokeDashOffset de StrokeDashArray özellikleri ayarlanarak çizilebilir. Özelliği bir StrokeDashArray veya daha fazla double değere ayarlanmalıdır ve her çift tek bir virgülle ve/veya bir veya daha fazla boşlukla sınırlandırılmalıdır. Örneğin, "0,5 1.0" ve "0,5,1.0" geçerli olur.
Aşağıdaki XAML örneğinde kesikli dikdörtgen çizme gösterilmektedir:
<Rectangle Fill="DarkBlue"
Stroke="Red"
StrokeThickness="4"
StrokeDashArray="1,1"
StrokeDashOffset="6"
WidthRequest="150"
HeightRequest="50"
HorizontalOptions="Start" />
Bu örnekte, kesikli vuruşlu dolu bir dikdörtgen çizilir:

Denetim çizgisi uçları
Bir çizginin üç parçası vardır: başlangıç başlığı, çizgi gövdesi ve uç üst sınırı. Başlangıç ve bitiş büyük harflerinde, bir çizginin veya segmentin başında ve sonundaki şekil açıklanır.
Shape nesneleri, bir StrokeLineCap çizginin veya kesimin başındaki ve sonundaki şekli açıklayan türünde PenLineCapbir özelliğe sahiptir. Numaralandırma PenLineCap aşağıdaki üyeleri tanımlar:
Flat, satırın son noktasını aşmayan bir üst sınırı temsil eder. Bu, hiçbir satır üst sınırı ile karşılaştırılabilir ve özelliğinStrokeLineCapvarsayılan değeridir.Square, çizgi kalınlığına eşit yüksekliğe ve çizgi kalınlığının yarısına eşit bir uzunluğa sahip bir dikdörtgeni temsil eder.Round, çizgi kalınlığına eşit çapa sahip bir yarım daireyi temsil eder.
Önemli
Özelliği StrokeLineCap , başlangıç veya bitiş noktası olmayan bir şekilde ayarlarsanız hiçbir etkisi olmaz. Örneğin, bir veya Rectangleüzerinde Ellipseayarlarsanız bu özelliğin hiçbir etkisi olmaz.
Aşağıdaki XAML özelliğin StrokeLineCap nasıl ayarlandığını gösterir:
<Line X1="0"
Y1="20"
X2="300"
Y2="20"
StrokeLineCap="Round"
Stroke="Red"
StrokeThickness="12" />
Bu örnekte, kırmızı çizgi satırın başında ve sonunda yuvarlanmış:

Denetim çizgisi birleşimleri
Shapenesneleri, şeklin PenLineJoinköşelerinde kullanılan birleştirme türünü belirten türünde bir StrokeLineJoin özelliğe sahiptir. Numaralandırma PenLineJoin aşağıdaki üyeleri tanımlar:
Miter, normal açısal köşeleri temsil eder. Bu özelliğin varsayılan değeridirStrokeLineJoin.Bevel, eğimli köşeleri temsil eder.Round, yuvarlatılmış köşeleri temsil eder.
Not
StrokeLineJoin özelliği olarak Miterayarlandığında, özellik şekildeki StrokeMiterLimit çizgi birleştirmelerinin sicim uzunluğunu sınırlamak için olarak double ayarlanabilir.
Aşağıdaki XAML özelliğin StrokeLineJoin nasıl ayarlandığını gösterir:
<Polyline Points="20 20,250 50,20 120"
Stroke="DarkBlue"
StrokeThickness="20"
StrokeLineJoin="Round" />
Bu örnekte koyu mavi poliline, köşelerinde yuvarlatılmış birleşimler vardır:
