تمام سوالات سوالات بدون پاسخ سوال بپرسید
10

با سلام

همیشه شنیده میشه که در قالب بندی در WPF بهتره که هرگز از مقدار دهی مستقیم به خصوصیات Width و Height کنترل ها استفاده نکنیم.

سوال من سه قسمت داره:

اول اینکه در صورتی که ما مقدار دهی مستقیم کنیم چه مشکلاتی گریبان گیر ما خواهد شد. مشکل Performance خواهیم داشت یا عدم نمایش مناسب؟ چرا؟

دوم اینکه، در مورد سایر خصوصیات که میتوانند مکان جاری کنترل ما را تغییر دهند چه؟ به عنوان مثال Margin و Padding

و نهایتاً اینکه تکلیف طول و عرضی که به Windowها میدهیم چیست؟ آیا آنها نیز باید برداشته شوند و فرم از اندازه ی کنترل های داخل خود تعیین اندازه شود(SizeToContent) ؟

1 پاسخ

11

سلام

برای قسمت اول سئوال شما مشکل زمانی پیش میاد که کاربر از فونت با سایز و اندازه متفاوت با آنچه در برنامه شما تعریف شده استفاده میکنه و در کنترلی که طراحی کردید جا نمیشه و چون کنترل طول و عرض ثابت داره نمیتونه خودش رو مطابقت بده ( البته در این نباید الزامی نیست و بیشتر در Silverlight ممکنه پیش بیاد و این مورد با اضافه کردن فونت مورد نظر به برنامه حل میشه) البته تنظیم کنترل ها نیاز به تجربه کافی داره و شما میتونید با استفاده از خاصیت های MaxHeight, MinWidth , MinHeight, MinWidth و Padding اقدام به کنترل سایز المنت های برنامه خودتون بکنید

2- برای جا نمایی صحیح کنترل ها شما حتما باید از Margin و Padding استفاده کنید

3- نه لزوما اما اگر بتونید چیدمان رو به شکل صحیح پیاده کنید برای بوجود نیامدن حالت اول بهتر است اندازه فرم از کنترل های داخل خود تعیین اندازه شود ( هیچ الزامی نیست)

3

شما برای قسمت سوم گفته اید که هیچ ازامی نیست... اگر برنامه ما در محیطی که DPI بیشتری از 96 داره اجرا بشه، اندازه پنجره هم بهم میخوره. میخوام بگم که اگر قرار باشه اجزای برنامه متناسب با DPI بزرگ و کوچک بشن، پس باید Window و همه کنترلها هم به تناسب بزرگ بشن.
در ثانی، Margin و Padding خودشان از نوع Pixel هستند. پس با تغییر DPI اینها هم باید به هم بخورند!

(15 آوریل '12, 17:03) _Ant Eater_
3

یک نکته دیگه... بنابر گفته سایت MSDN سیستم پیکسل WPF‌ غیر وابسته به DPI است. یعنی پیکسل به تناسب DPI تغییر میکنه.
مشکل تار شدن شکل ها و متنها هم به خاطر همین سیستم است.

(15 آوریل '12, 17:05) _Ant Eater_
2

بله شما صحیح گفتید من این مورد رو اصلاح کردم (سازگاری با فونت کامپیوتر مقصد البته بیشتر در silverlight خود نمایی میکنه) برای اون مورد که گفتم برای سایز ویندوز هیچ الزامی نیست به این علت هست که شما میتونید از ScrollViewer برای نمایش بهتر زمانی که چیدمان در پنجره موجود نمیگنجه استفاده کنید با تشکر از تذکر و یاد آوری شما

(16 آوریل '12, 09:01) مهدی فرزاد
toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
  • ×209
  • ×137
  • ×61
  • ×39
  • پرسیده شده: 11 آوریل '12, 03:24
  • بازدید: 2,443 بار
  • آخرین بروزرسانی: 16 آوریل '12, 09:05

این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها