बस सोच रहा है कि किसी ने इसे अधिक उपयोगी बनाने के लिए WPF DocumentViewer
में हैक करने की कोशिश की है या नहीं। मैंने लगभग एक हफ्ते पहले ही इस नियंत्रण के लिए अधिक शक्तिशाली एपीआई बनाने की कोशिश की है, जिस पर मैंने प्रतिबिंब का उपयोग करके निकाला है।wpf DocumentViewer - GlyphRun द्वारा ITextPointer प्राप्त करें और इसके विपरीत
हर कोई जानता है कि प्रतिबिंब के माध्यम से दस्तावेज़ दर्शक से चयनित टेक्स्ट कैसे प्राप्त करें लेकिन मेरा कार्य अधिक जटिल है। Selected text में End
और Start
गुण हैं जो ITextPointers
लौटाते हैं। इसके अलावा मेरे पास this code का उपयोग करके निकाले गए GlyphRuns का संग्रह है। और अब अंततः मैं यह जानना चाहता हूं कि GlyphRun
में चयन शुरू हो गया है।
तो मैं जानना चाहता हूं कि ITextPointers
को GlyphRuns
और इसके विपरीत कैसे परिवर्तित करें। मैं समझता हूं कि उनके पास 1: 1 संबंध नहीं है। बंद एपीआई के साथ यह नियंत्रण और प्रतिबिंब में बिताए गए पिछले हफ्ते मुझे अच्छी तरह से सोने नहीं देता है। मुझे उम्मीद है कि किसी ने कोड कोड के पहले इसे देखने या देखने की कोशिश की है और इन जंगलों के माध्यम से मुझे मार्गदर्शन करने में सक्षम हो जाएगा।
जैसा कि आपने कहा था, कोई 1: 1 संबंध नहीं है। इसके अलावा, ग्लाइफ्रून केवल वस्तु से विरासत में आता है। हालांकि, इसमें उल्लेखनीय तरीके हैं। (मैंने उनमें से किसी को भी कोशिश नहीं की है।) उदाहरण के लिए, ग्लिफ्रुन। कॉम्प्यूट एलाइनमेंटबॉक्स() एक रेक्ट देता है, जिसमें स्थान डेटा हो सकता है। मुझे लगता है कि यह कुंजी है ... ग्लाइफ्रुन और टेक्स्ट पॉइंटर स्थान डेटा से संबंधित है। –
क्या आप हमारे साथ कुछ कोड साझा कर सकते हैं ताकि हम कुछ कोशिश कर सकें –
@HBMAAM, वर्ष के दौरान मुझे कम या ज्यादा काम करने वाला समाधान मिला, मैं इसे यहां पोस्ट करने जा रहा हूं, लेकिन इसमें कुछ समय लगेगा। – Snowbear