ورود

نسخه کامل مشاهده نسخه کامل : کشیدن چند مثلث در wpf



hhojjatt
04-11-2009, 16:57
روی canvas یک مثلث را با استفاده از PointCollection و Polygon رسم می کنم ولی وقتی PointCollection را clear می کنم تا مثلث دوم را رسم کنم مثلث اول از canvas حذف می شود و وقتی از ارایه PointCollection[100[ استفاده می کنم پیغام خطا می دهد چگونه چند مثلث رسم کنم با یک یا ارایه ای از PointCollection یا هر چیز دیگر ممنون

_H2_
04-11-2009, 23:51
سلام
واضح است که شما باید در قبال هر یک مثلث یک Polygon هم اضافه کنید!
به نظر منطقی نمی آید که با یک Polygon بتوانید بیش از یک مثلث داشته باشید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hhojjatt
05-11-2009, 08:51
چطوری به ازای هر مثلث یک polygon هم اضافه کنم من polygon را داخل یک تابع کشیدم و بعد تابع را هی فرا خوانی می کنم

public void drawplygon(PointCollection pocol)
{
Color c=new Color();
c.A=255;
c.B=0;
c.G=0;
c.R=0;
Polygon po = new Polygon();
po.Stroke = new SolidColorBrush(c);
po.StrokeThickness = 0.4;
po.Points = pocol;
cannemodar.Children.Add(po);
}

_H2_
06-11-2009, 13:11
سلام
همین کد شما صحیح است و باید کار کند!
ولی عمل زیر مشکل دارد!

ولی وقتی PointCollection را clear می کنم

طبیعتاً باید تفکرات شی گرایی داشته باشید.
شما اگر مثل قبلی را میخواهید باید حتماً Polygon جدید new کنید و اگر PointCollection را هم میخواهید خودتان تخصیص بدهید، باید یک PointCollection جدید را new کنید...
در این صورت یک مثلث جدید و مستقل خواهید داشت!

==============

ضمناً برای نمایش کدهایتان، (مثل انچه در پست دوم میبینید) باید کدهای خودتان را داخل تگ های باز و بسته [ C O D E ] قرار دهید و یا از ویرایشگر همینجا و دکمه [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] استفاده کنید.

موفق باشید.