WPF Textbox LostFocus كخاصية مرفقة
-
29-09-2019 - |
سؤال
لدي شبكة مع العديد من مربعات النص وأريد الاتصال NotifyPropertyChanged()
طريقة لتحديث بعض عناصر التحكم الأخرى في كل مرة قامت إحدى مربعات النص هذه بتغيير القيمة = فقدت التركيز (أنا لا أريد ليستخدم PropertyChanged
كما UpdateSourceTrigger
)
هذا ما يمكنني فعله:
<Grid TextBoxBase.TextChanged="My_TextChanged" >
...
</Grid>
أحتاج إلى شيء مثل:
TextBoxBase.OnLostFocus
المحلول
استخدم حدث التركيز المفقود
TextBox.LostFocus="OnTextBoxLostFocus"
تصفية على مربعات النص ؛)
private void OnTextBoxLostFocus(object sender, RoutedEventArgs e)
{
if(!(e.OriginalSource is TextBox))
return;
//Do stuff
}
إذا لم يتم تغيير خصائصك ، فلن يتم تحديث مربعات النصوص الخاصة بك. يجب أن تفكر في تحوير البيانات التي ترتبط بها مربعات النص الأخرى ، بدلاً من استخدام LostFocus لتحديث النموذج الخاص بك.
حظا طيبا وفقك الله!
نصائح أخرى
TextBoxBase.LostFocus
هو ، أظن أن الحدث الذي تبحث عنه.
إنه مدرج هنا: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - لكنها محددة على UIElement
- لذلك ربما تريد المحاولة UIElement.LostFocus
إذا كان ما سبق لا يعمل في الترميز.