c# - Problem for copyn'g from rtf in richtextbox -


रिटेक्टबॉक्स में आरटीएफ से कॉपी करते समय मुझे एक समस्या है

// Not SERIALIZE गुणों "बोल्ड" और "रंग" और "आकार"

सभी कोड:

  string ConvertXamlToString (FlowDocument fd) {string format = "@ TAG @ {0}: {1} @ टैग @ "; फ्लो डॉक्यूमेंट एसएस = नया फ़्लो दस्तावेज़ (); के लिए (इंट I = 0; i & lt; fd.Blocks.Count; i ++) {var ब्लॉक = (एफडी। ब्लॉकक्ल्यूशन के रूप में)। एलामेंटआट (आई); यदि (ब्लॉक अनुच्छेद है) {var p = नया पैराग्राफ (); (इंट y = 0; वाई एंड एलटी; (पैराग्राफ) ब्लॉक) .इनलाइन्स.काउंट; y ++) {var इनलाइन = ((अनुच्छेद) ब्लॉक) .इनलाइन। एलेमेंटएट (वाई); यदि (इनलाइन इनलाइन यूआईटीएनेयर है) {var elem = ((इनलाइनउआईकॉन्टेनियर) इनलाइन)। बाल; यदि (एएम फ्लैश कंट्रोल है) {पाठ बॉक्स एमसी = नया पाठ बॉक्स () {टेक्स्ट = स्ट्रिंग.फोर्मेट (प्रारूप, "फ्लैश कंट्रोल", (फ्लैश कंट्रोल के रूप में एएमएम) .Flashp.Source)}; p.Inlines.Add (एमसी); } Else if (elem is MusicControl) {MusicControl mc = नया म्यूजिक कंट्रोल ((Elem musicControl के रूप में) .Path_file); p.Inlines.Add (एमसी); } और यदि (एएमएम छवि है) {छवि एमसी = नई छवि (); छवि अंतिम = (छवि के रूप में elem); कोशिश करें (यदि (आखिरी। सोर्स सिस्टम है। विन्डोज़। मीडिया। इमेजिंग। बिटमैप इमेज) {mc.Source = नया बिटमैप इमेज (नया उरी (((सिस्टम। विन्डोज़। मीडिया। इमेजिंग। बिटमॅप इमेज) (अंतिम। स्रोत))। AbsolutePath)); } Else if (अंतिम। सोर्स सिस्टम है। विन्डोज़। मीडिया। इमेजिंग। बिटमैप इमेज) {mc.Source = नया बिटमैप इमेज (नया उरी (((सिस्टम। विन्डोज। मीडिया। इमेजिंग। बिटमैप इमेज) (अंतिम। स्रोत))। तार())); }} पकड़ {} p.Inlines.Add (mc); } Else {p.Inlines.Add (elem); }} और अगर (इनलाइन चलाना है) {रन आर = (रन के रूप में इनलाइन); स्ट्रिंग rSer = XamlWriter.Save (r); Var inl1 = XamlReader.Parse (rSer); P.Inlines.Add (रन के रूप में inl1); } और अगर (इनलाइन स्पैन) {स्पैन आर = (स्पैन के रूप में इनलाइन); स्ट्रिंग rSer = XamlWriter.Save (r); // NOT वर्गीकृत गुण "बोल्ड" और "रंग" और "आकार" var inl1 = XamlReader.Parse (rSer); P.Inlines.Add (स्पान के रूप में inl1); } Else {}} ss.Blocks.Add (p); }} स्ट्रिंग aaa = XamlWriter.Save (ss); richtextbox.Document.Blocks.Clear (); वस्तु f = XamlReader.Parse (aaa); Richtextbox.Document = च फ़्लो दस्तावेज़ के रूप में; एएए वापसी; }  

कोड का मुख्य भाग:

  else अगर (इनलाइन चलाना है) {रन आर = (रन के रूप में इनलाइन); स्ट्रिंग rSer = XamlWriter.Save (r); Var inl1 = XamlReader.Parse (rSer); P.Inlines.Add (रन के रूप में inl1); } और अगर (इनलाइन स्पैन) {स्पैन आर = (स्पैन के रूप में इनलाइन); स्ट्रिंग rSer = XamlWriter.Save (r); // NOT वर्गीकृत गुण "बोल्ड" और "रंग" और "आकार" var inl1 = XamlReader.Parse (rSer); P.Inlines.Add (स्पान के रूप में inl1); }  

यदि आप मैन्युअल रूप से सबकुछ दर्ज करते हैं, तो सभी ठीक हैं। मैं यह कैसे तय करूँ?

हम्म, अच्छी तरह से बोल्ड और आकार हैं ' टी गुणों जैसे, वे अवधि के डेरिवेटिव हैं, आपको अपने Span की Inlines संपत्ति को बनाए रखने के लिए व्यक्तिगत रूप से पार्स करने की आवश्यकता हो सकती है वे


Comments