آموزش WPF

آموزش WPF با زبان xaml و VB.Net و C#

آموزش WPF

آموزش WPF با زبان xaml و VB.Net و C#

کشیدن چند ضلعی با کنترل Polygan

 اشکال در WPF فقط می توانند درون کانتینرها یا کنترلهای دیگری که از Panel مشتق شده اند  قرار بگیرند. 

کشیدن چند ضلعی  Polygon

برای کشیدن چند ضلعی از کنترل Polygon استفاده می شودکه همانند کنترل Polyline دارای خاصیت آرایه ای به نام Points برای نشان دادن نقاطی که قرار است خطوط بین آنها کشیده شود ،دارد. تفاوت این کنترل (Polygon) با کنترل Polyline در این است که از Polygon برای کشیدن اشکال چند ضلعی به صورت بسته استفاده می شود.(یعنی بطور خودکار خطی از انتها به ابتدا کشیده می شود).

نحوه دادن اطلاعات نقاط به آرایه Points بدین صورت است که به ازای هر X,Y یک نقطه ایجاد می شود و برای جدا کردن نقاط از فاصله استفاده کنید

<Canvas Height="300" Width="300">

<!--  Polyline Left , Top -->  

    <Polygon Points="10,130 60,30 110,130" Fill="Blue" />

   

<!-- Polyline Right , Top -->

    <Polygon Points="10,110 110,110 110,10"

        Fill="Blue"

        Canvas.Left="160" Canvas.Top="20" />

   

<!-- Polyline Left , Bottom -->

    <Polygon Points="0,0 50,-50 100,-50 150,0 100,50 50,50"

        Fill="Blue" Stroke="Black" StrokeThickness="4"

    Canvas.Top="220" Canvas.Left="10" />

<!-- Polyline Right , Bottom -->

    <Polygon Points="10,110 110,110 110,10"

        Stroke="Black" StrokeThickness="4"

        Canvas.Left="160" Canvas.Top="150" />

</Canvas>

توضیحات بیشتر در شکل

مثال در VB.Net

        Dim poly As New Polygon

        Dim po As Point

        po.X = 100

        po.Y = 100

        poly.Points.Add(New Point(0, 0))

        poly.Points.Add(New Point(50, 100))

        poly.Points.Add(po)

        poly.Stroke = Brushes.Red

        grid1.Children.Add(poly)

نکته :

چون از کانتینر Canvas استفاده شده است مختصات داده شده ثابت هستند و با توجه به مقادیر Canvas.Left (فاصله از سمت چپ) و Canvas.Top (فاصله از بالا) به مقادیر نقاط داده شده اضافه می شود(در واقع Canvas.Left و Canvas.Top نقطه صفر برای کشیدن اشکال را مشخص می کنند و بصورت پیش فرض صفر می باشند)

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد