PDA

View Full Version : سوال: پیاده سازی Leave برای GroupBox



mehri_ema
چهارشنبه 26 مرداد 1390, 18:30 عصر
سلام
من می خواهم وقتی از GroupBox خارج می شه کاربر یه سری دستورات اجرا بشه .(GroupBox شامل چند تا TextBoxمی باشد.) تو WinForm با Event leave می تونستم این کاررو انجام بدهم اما WPF این Event نداره.
تو LostFocus هم که گزاشتم با هر Focus change کنترل های داخل GroupBox اجرا می شه کسی می دونه چطوری این دستوراتو پیاده سازی کنم؟

مهدی فرزاد
دوشنبه 07 شهریور 1390, 14:49 عصر
سلام

من این راه به ذهنم رسید
شما باید چک کنید آیا کنترل هایی که دارن فکوس رو میگیرن درون GroupBox هستن یا نه
من این کار رو کردم و جواب داد
مثلا من یک GroupBox دارم که توش یک گرید با نام grid هست حالا با کد زیر چک میکنم کنترل هایی که دارن فکوس رو میگیرن درون این grid هستن یا نه که در صورتی که اولین کنترل که خارج این مجموعه Focus رو بگیره پس درنتیجه GroupBox دیگه فکوس رو نداره و دستور اجر امیشه
فایل هم ضمیمه هست

private void groupBox1_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
if (((e.NewFocus as Control).Parent as Grid).Name != "grid")
MessageBox.Show("OK");
}