WPF:أنا لا أفهم الدرجة TextCompositionEventArgs
-
05-07-2019 - |
سؤال
أنا لا أفهم فئة TextCompositionEventArgs.
هناك أعضاء من نوع string اسمه ControlText,SystemText النص.ثم هناك مجال TextConmposistion نفسها تحتوي على أعضاء ControlText, SystemText النص مرة أخرى بالإضافة إلى حقول SystemCompositionText و CompositionText.
public class TextCompositionEventArgs : InputEventArgs
{
..
public string ControlText { get; }
public string SystemText { get; }
public string Text { get; }
public TextComposition TextComposition { get; }
}
public class TextComposition : DispatcherObject
{
..
public string CompositionText { get; protected set; }
public string ControlText { get; protected set; }
public string SystemCompositionText { get; protected set; }
public string SystemText { get; protected set; }
public string Text { get; protected set; }
}
كل من النص أعضاء يبدو أن تحتوي على النص المكتوب مع لوحة المفاتيح, جميع مجالات أخرى تحتوي على سلاسل فارغة.
في الطريقة التي تفعل هذه الحقول تختلف وما هي جيدة ؟
المحلول
TextCompositionEventArgs يتعامل مع التغييرات أثناء كتابة النص ، لذلك لديه العديد من الخصائص للتعامل مع النص على وجه التحديد ما هو التغير و كيفية استخدامه يعتمد على ما هي الأحداث التي المناولة.
الأشياء الأساسية لفهم:
النص:يحتوي هذا أن النص الفعلي الذي تسبب في الحدث - عادة المستخدم بكتابة النص
SystemText:هذا يحتوي على نص نظام الأحداث ، أي:إذا كنت ضرب Alt+الرسالة سوف ترى حدث هنا.هذا هو عادة ضغطات المفاتيح التي لا تأثير النص في عنصر تحكم مثل مربع نص.
ControlText:هذا هو النص التحكم في الأحداث ، أي:إذا كنت تضغط على زر Ctrl+حرف, سوف نرى ذلك هنا.على غرار SystemText.
عادة إذا كنت تبحث فقط عن مستوى "النص" الأحداث, عليك فقط أن ننظر إلى "النص" الملكية.للحصول على التفاصيل ، انظر مساهمة عامة.