ورود

View Full Version : سوال: مشکل در تغییر مکان دادن Object ها



hamed jalili
پنج شنبه 05 آبان 1390, 21:45 عصر
با سلام ،

دوستان شاید این یه موضوع خیلی ساده باشه ، ولی نمی دونم چرا نمی تونم حل کنم ؟!!
مشکل اینه که می خواهم با کد زیر ، مکان یک Botton رو در یک Canvas عوض کنم ، کار اصلی که می خواهم بکنم اینکه که این Botton در زیر Datagrid ی که تعریف کردم قرار بگیره ، کد هایی که استفاده کردم ، اینها هستند ولی هیچ تغییری در مکان Botton ایجاد نمیشه !!



Proceed_BT.SetValue(Canvas.TopProperty, 500.0);



Proceed_BT.SetValue(Canvas.BottomProperty, MDataGrid.GetValue(Canvas.BottomProperty));

Amir Oveisi
جمعه 06 آبان 1390, 03:36 صبح
خوب کدتون درست نیست.
SetValue و GetValue برای کار با DependencyProperty ها هستند در حالی که Canvas.TopProperty‌ یک AttachedProperty هست. برای کار با AttachedProperty ها در code-behind‌ به این شکل عمل کنید:
Canvas.SetTop(Proceed_BT,500);

موفق باشید

hamed jalili
جمعه 06 آبان 1390, 09:01 صبح
ممنون از راهنماییتون ،
ولی با کد ی که شما دادین هم هیچ تغییری ایجاد نشد !!

حدس زدم ، شاید به خاطر Alignment هایی باشه که تعریف کرده بودم ، مقادیر اونها رو هم تغییر دادم ولی باز هم تغییر نکرد ، حتی تعریف Alignment ها رو هم پاک کردم تا از پیش فرض استفاده کنه ، ولی باز هم جواب نگرفتم ، در واقع وقتی Alignment هست ، مکان این Botton با توجه به Bottom یا Center یا Top بودن Alinment تغییر می کنه ولی وقتی اونو حذف می کنم دیگه هیچ تغییری در مکان Botton ایجاد نمیشه !!

Amir Oveisi
جمعه 06 آبان 1390, 13:47 عصر
من نمیدونم شما دقیقا چکار کردید که نمیشه. احتمالا یه مشکل دیگه ای وجود داره تو کدهاتون.
من این نمونه رو نوشتم و کار هم میکنه.

hamed jalili
جمعه 06 آبان 1390, 14:48 عصر
خیلی ممنون دوست عزیز ،
واقعا لطف کردین که زحمت کد نوشتن هم به خودتون دادین ،
من هم دقیقا نمی دونم چی شده و می خواهم کار رو از اول شروع کنم ( چون برای این Window فعلا کار خاصی نکرده بودم زیاد طول نمی کشه که از اول شروع کنم )

از بابت کدتون هم باز هم تشکر می کنم