Xamarin.Forms Şekiller: Yol

sınıfı Path sınıfından Shape türetilir ve eğrileri ve karmaşık şekilleri çizmek için kullanılabilir. Bu eğriler ve şekiller genellikle nesneler kullanılarak Geometry açıklanır. Sınıfın sınıftan devraldığı Shape özellikler hakkında bilgi için bkzXamarin.Forms. Şekiller.Path

Path aşağıdaki özellikleri tanımlar:

  • Data, türüne Geometrygöre çizilecek şekli belirtir.
  • RenderTransform, türündedir Transformve çizilmeden önce bir yolun geometrisine uygulanan dönüşümü temsil eder.

Bu özellikler nesneler tarafından BindableProperty desteklenir; bu da veri bağlamalarının hedefleri olabileceği ve stillendirilebileceği anlamına gelir.

Dönüşümler hakkında daha fazla bilgi için bkz Xamarin.Forms . Yol Dönüşümleri.

Yol Oluşturma

Yol çizmek için bir Path nesne oluşturun ve özelliğini Data ayarlayın. özelliğini ayarlamak Data için iki teknik vardır:

  • Yol işaretleme söz dizimini kullanarak XAML içinde için Data bir dize değeri ayarlayabilirsiniz. Bu yaklaşımla Path.Data , değer grafikler için bir serileştirme biçimi tüketiyor. Genellikle bu dize değerini oluşturulduktan sonra el ile düzenlemezsiniz. Bunun yerine, verileri işlemek ve özelliği tarafından Data kullanılabilen bir dize parçası olarak dışarı aktarmak için tasarım araçlarını kullanırsınız.
  • özelliğini bir Geometry nesne olarak ayarlayabilirsinizData. Bu, belirli Geometry bir nesne veya GeometryGroup birden çok geometri nesnesini tek bir nesnede birleştirebilen bir kapsayıcı işlevi gören bir nesne olabilir.

Yol işaretleme söz dizimi ile Yol oluşturma

Aşağıdaki XAML örneği, yol işaretleme söz dizimini kullanarak üçgen çizmeyi gösterir:

<Path Data="M 10,100 L 100,100 100,50Z"
      Stroke="Black"
      Aspect="Uniform"
      HorizontalOptions="Start" />

Dize Data , yolu için mutlak bir başlangıç noktası oluşturan tarafından Mgösterilen move komutuyla başlar. L , başlangıç noktasından belirtilen bitiş noktasına doğru bir düz çizgi oluşturan satır komutudur. Z , geçerli noktayı başlangıç noktasına bağlayan bir çizgi oluşturan close komutudur. Sonuç bir üçgendir:

Yol üçgeni

Yol işaretleme söz dizimi hakkında daha fazla bilgi için bkz Xamarin.Forms . Yol işaretleme söz dizimi.

Geometri nesneleriyle Yol Oluşturma

Eğriler ve şekiller, nesnenin Path Data özelliğini ayarlamak için kullanılan nesneler kullanılarak Geometry açıklanabilir. Aralarından Geometry seçim yapabileceğiniz çeşitli nesneler vardır. EllipseGeometry, LineGeometryve RectangleGeometry sınıfları görece basit şekilleri açıklar. Daha karmaşık şekiller oluşturmak veya eğriler oluşturmak için kullanın PathGeometry.

PathGeometry nesneleri bir veya daha fazla PathFigure nesneden oluşur. Her PathFigure nesne farklı bir şekli temsil eder. Her PathFigure nesne, şeklin bağlantı bölümünü temsil eden bir veya daha fazla PathSegment nesneden oluşur. Segment türleri aşağıdaki LineSegment, BezierSegmentve ArcSegment sınıflarını içerir.

Aşağıdaki XAML örneği, nesne kullanarak PathGeometry üçgen çizmeyi gösterir:

<Path Stroke="Black"
      Aspect="Uniform"
      HorizontalOptions="Start">
    <Path.Data>
        <PathGeometry>
            <PathGeometry.Figures>
                <PathFigureCollection>
                    <PathFigure IsClosed="True"
                                StartPoint="10,100">
                        <PathFigure.Segments>
                            <PathSegmentCollection>
                                <LineSegment Point="100,100" />
                                <LineSegment Point="100,50" />
                            </PathSegmentCollection>
                        </PathFigure.Segments>
                    </PathFigure>
                </PathFigureCollection>
            </PathGeometry.Figures>
        </PathGeometry>
    </Path.Data>
</Path>

Bu örnekte üçgenin başlangıç noktası (10.100) şeklindedir. Çizgi kesimi (10.100) ile (100.100) arasında ve (100.100) ile (100.50) arasında çizilir. Ardından, özelliği olarak ayarlandığından PathFigure.IsClosed true, ilk ve son segmentlerin rakamları birbirine bağlanır. Sonuç bir üçgendir:

Yol üçgeni

Geometriler hakkında daha fazla bilgi için bkz Xamarin.Forms . Geometriler.