سؤال

لدي شبكة مع العديد من مربعات النص وأريد الاتصال 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 إذا كان ما سبق لا يعمل في الترميز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top