PDA

View Full Version : سوال: طريقه راست چين كردن منو



water_lily_2012
پنج شنبه 25 فروردین 1390, 12:03 عصر
سلام
چطور منوي برنامه را براي زبان فارسي راست چين كنم؟

مهدی فرزاد
پنج شنبه 25 فروردین 1390, 12:16 عصر
سلام
با خاصیت FlowDirection
مثلا
<Menu FlowDirection="RightToLeft" VerticalAlignment="Top">
<MenuItem Header="پرونده">
<MenuItem Header="پرونده جدید"/>
<MenuItem Header="خروج"/>
</MenuItem>
</Menu>

water_lily_2012
پنج شنبه 25 فروردین 1390, 12:31 عصر
چگونه متن منو را در وسط تنظيم كنم، من مي خواهم اندازه منو بزرگتر باشه اما متن به بالا مي چسبه و وسط قرار نمي گيره. همين مشكل را در TextBox دارم و وقتي آنرا هم بزرگ مي كنم متن در بالا قرار مي گيرد و پايين خالي هست.

farashah_jalal
پنج شنبه 25 فروردین 1390, 13:02 عصر
مي توني خاصيت text aligment اون رو برابر با center قرار بدي.
مباحث اموزشي اقاي كياني را مطالعه كنيد.
http://barnamenevis.org/showthread.php?102127-آموزش-WPF-(مقدماتی-تا-پیشرفته)

مهدی فرزاد
پنج شنبه 25 فروردین 1390, 15:18 عصر
سلام
برای منو مراحل زیر رو انجام بدید
در نرم افزار Blend روی کنترل Menu کلیک راست کرده و گزینهEdit Additional Templates را انتخاب کرده و سپس گزینه Edit Layout of Items را انتخاب کنید حالا گزینه Edit a Copy را کلیک کنید
68726

در پنجره ظاهر شده دکمه Ok رو کلیک کنید نیازی به تغییر تنظیمات این پنجره و ذخیره آن در ریسورس دیکشنری جداگانه نیست )

حالا وارد صفحه ویرایش چیدمان منوها خواهید شده تنظیمات زیر را انجام دهید
کنترل WarpPanel رو انتخاب کنید و در قسمت Properties این کنترل گزینه Vertical Alignment رو برابر Center قرار بدید مانند شکل
68727

water_lily_2012
پنج شنبه 25 فروردین 1390, 18:52 عصر
سلام
من كارهاي شما را انجام دادم ولي باز هم نشد. به تصوير زير نگاه كنيد. نوشته در وسط نيست. كار شما را هم روي منو انجام دادم و هم روي آيتم ها
68741

مهدی فرزاد
جمعه 26 فروردین 1390, 02:19 صبح
سلام
من فکرکردم شما میخواید هر آیتم از منو در مرکز باشه
کار که من گفتم آیتم های منو را در وسط منو قرار میده
برای اینکه نوشته هر آیتم در وسط آتم باشه باید روی آیتم مورد نظر کیک راست کنید و گزینه Edit Template و سپس گزینه Edit a Copy رو بزنید

68759
در پنجره مورد نظر محل ذخیره شدن استایل را مشخص کنید (مثلا یک ریسورس دیکشنری یا همان محل پیش فرض )
سپس ok رو کلیک کنید در پنجره ویرایش استایل ، ContentPresenter رو انتخاب کنید و در قسمت Properties این کنترل گزینه Vertical Alignment رو برابر Center قرار بدید مانند شکل
68760

water_lily_2012
شنبه 27 فروردین 1390, 16:01 عصر
سلام
من بايد براي هر منو يكبار اين كار را انجام بدهم يا اگر يكبار براي يك منو اين كار را انجام دهم و كد زير را براي هر منو كپي كنم كافي هست.

Template="{DynamicResource DocMenu}"

water_lily_2012
شنبه 27 فروردین 1390, 16:12 عصر
با انجام دادن اين تنظيمات زير منو ها باز نمي شه. علت چيه؟

مهدی فرزاد
شنبه 27 فروردین 1390, 17:07 عصر
با انجام دادن اين تنظيمات زير منو ها باز نمي شه. علت چيه؟
سلام
مشکل از این تنطیمات نیست شاید در جای دیگه تغییراتی دادید که باعث این شده

برای هر منوی جدید فقط کافیه استایل رو معرفی کنید و نیاز نیست از اول مراحل رو انجام بدید مثلا
Style="{DynamicResource MenuItemStyle1}"

برای زیر منو ها جداگانه فقط یک بار انجام دهید

من یک نکته رو باید بگم
دقت کنید شما وقتی یک menuItem رو در برنامه قرار میدید ودر زیر مجموعشmenuItem نداره استایلی که براش تعریف میکنید فرق میکنه با menuItem که زیر آیتم داره پس برای هر دسته یعنی (Menu و Menu Item بدون زیر مجموعه و Menu Item با زیر مجموعه ) یک بار استایل مورد نظر رو چه از لحاظ ظاهر و چه چیدمان آیتم ها (Style و ItemTemplate ) تعریف میکنید و برای سایر منو ها فقط این استایل رو معرفی میکنید

درضمن اگر در موقع تعریف استایل در در نرم افزار blend گزینه Apply to All رو بزنید (یعنی در کد نویسی دستی برای اون استایل key تعریف نکنید ) این استایل به شکل پیشفرض برای تمام منو ها و منو آیتمهای هم نوع خودش اعمال میشه
68816