2009-09-09 11 views
9

समझ में नहीं आता है, मुझे क्लास TextCompositionEventArgs क्लास को समझ में नहीं आता है।डब्ल्यूपीएफ: मुझे क्लास टेक्स्ट कॉम्पोजिशनइवेंट आर्ट्स

कंट्रोलटेक्स्ट, सिस्टमटेक्स्ट, टेक्स्ट नामक प्रकार स्ट्रिंग के सदस्य हैं। फिर वहां एक टेक्स्ट टेक्स्ट कॉन्स्पोजिशन है जिसमें स्वयं कंट्रोलटेक्स्ट, सिस्टमटेक्स्ट और टेक्स्ट को सदस्य और अतिरिक्त रूप से फ़ील्ड 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; } 
} 

दोनों पाठ सदस्यों पाठ कीबोर्ड के साथ टाइप किया शामिल करने के लिए लग रहे हैं, अन्य सभी क्षेत्रों रिक्त स्ट्रिंग होते हैं।

इन क्षेत्रों में किस तरह से भिन्नता है और वे किसके लिए अच्छे हैं?

उत्तर

11

टेक्स्टकंपोशनइवेंटआर्ग टेक्स्ट लिखते समय परिवर्तनों से संबंधित है, इसलिए इसमें टेक्स्ट से संबंधित कई गुण हैं और विशेष रूप से क्या बदल रहा है, और आप इसका उपयोग कैसे करते हैं इस पर निर्भर करता है कि आप कौन सी घटनाएं प्रबंधित कर रहे हैं।

बुनियादी बातें समझने के लिए:

  • पाठ: यह होता है कि वास्तविक पाठ घटना की वजह से - सामान्य रूप से उपयोगकर्ता के लिखे गए पाठ

  • SystemText: यह प्रणाली पाठ घटनाओं, यानी शामिल हैं: अगर आपने Alt + अक्षर मारा, आप यहां ईवेंट देखेंगे। यह आमतौर पर कीस्ट्रोक होता है जो टेक्स्ट बॉक्स जैसे नियंत्रण में पाठ को प्रभावित नहीं करेगा।

  • नियंत्रण टेक्स्ट: यह नियंत्रण टेक्स्ट ईवेंट है, यानी: यदि आप Ctrl + अक्षर दबाते हैं, तो आप इसे यहां देखेंगे। SystemText के समान।

आम तौर पर, अगर आप सिर्फ मानक "पाठ" की घटनाओं के लिए देख रहे हैं, तो आप सिर्फ "पाठ" संपत्ति को देखने के लिए चाहता हूँ। विवरण के लिए, Input Overview देखें।

+0

क्या आपको पता है क्यों ControlText, SystemText, टेक्स्ट TextCompositionEventArgs क्लास में डुप्लीकेट/अनावश्यक हैं? – codymanix

+0

वे नहीं हैं। उदाहरण के लिए, कंट्रोलटेक्स्ट परीक्षण होता है जो तब होता है जब CTRL दबाया जाता है। उन कीस्ट्रोक टेक्स्ट में दिखाई नहीं देंगे। –

+0

मैंने अपना प्रश्न संपादित किया और कोड डाला ताकि आप देख सकें कि मेरा मतलब डुप्लीकेट/अनावश्यक के साथ क्या है। – codymanix

संबंधित मुद्दे