View Full Version : تب كنترل سفارشي
saed2006
یک شنبه 11 اردیبهشت 1390, 14:08 عصر
سلام
ميخوام با expersion belnd يك تب درست كنم كه وقتي موس روي اون رفت چند دكمه كنارشس اضافه شود و با بر داشتن موس دكمه ها هم نا پديد شوند و دوم اينكه با دو بار كليك روي نام تب بتوان نام ان را اصلاح كرد
مهدی فرزاد
یک شنبه 11 اردیبهشت 1390, 19:21 عصر
سلام
برای این کار روی یکی از TabItem ها کلیک راست کنید و گزینه Edit Template و سپس گزینه Edit a copy رو انتخاب کنید و در صفحه ظاهر شده گزینه Apply To All رو انتخاب کنید تا برای تمام TabItem ها اعمال بشه و سپس وارد صفحه ویرایش TabItem میشید که دیگه همه چیز واضحه هست و میتونید اون رو به شکل دلخواه در بیارید
برای اینکه اسم قابل ویرایش باشه باید یک تکس باکس رو بجای Content که درون استایل هست قرار بدید و Text اون رو با استفاده از گزینه Template Binding ( روی دکمه مقابل Text کلیک کنید این گزینه رو میبینید ) به Heder بایند کنید حالا اون رو در حالت ReadOnly قرار بدید و بکگراند و Border اون رو بیرنگ کنید سپس در رویداد MouseDoubleClick تکس باکس بنویسید
private void txt_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
TextBox txt = (TextBox)sender;
txt.IsReadOnly = false;
}
البته میتونید تنظیمات رنگ رو هم انجام بدید و علاوه بر کدهای بالا رنگ بکگراند و بوردر رو هم تنظیم کنید تا شکل تکس باکس معمولی رو پیدا کنه
بعد از ویرایش یعنی در رویداد LostFocus مربوط به تکس باکس مجدد آن را ReadOnly کنید و تنظیمات رنگ رو به حالت اولیه برگردونید
private void txt_LostFocus(object sender, System.Windows.RoutedEventArgs e)
{
TextBox txt = (TextBox)sender;
txt.IsReadOnly = true;
}
نکته برای اینکه به رویداد های تکس باکس دسترسی داسته باشید این استایل رو درون ریسورس دیکشنری ذخیره نکنید و در همان داکیومنت موجود ذخیره کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.