// Token: 0x06003864 RID: 14436 RVA: 0x000FC5A8 File Offset: 0x000FA7A8
        private static bool PasteXaml(TextEditor This, string pasteXaml)
        {
            bool result;

            if (pasteXaml.Length == 0)
            {
                result = false;
            }
            else
            {
                try
                {
                    bool        useRestrictiveXamlReader = !Clipboard.UseLegacyDangerousClipboardDeserializationMode();
                    object      obj         = XamlReader.Load(new XmlTextReader(new StringReader(pasteXaml)), useRestrictiveXamlReader);
                    TextElement textElement = obj as TextElement;
                    result = (textElement != null && TextEditorCopyPaste.PasteTextElement(This, textElement));
                }
                catch (XamlParseException ex)
                {
                    Invariant.Assert(ex != null);
                    result = false;
                }
            }
            return(result);
        }
 private static bool PasteContentData(TextEditor This, IDataObject dataObject, IDataObject dataObjectToApply, string formatToApply)
 {
     if (formatToApply == DataFormats.Bitmap && dataObjectToApply is DataObject && This.AcceptsRichContent && This.Selection is TextSelection && SecurityHelper.CheckUnmanagedCodePermission())
     {
         BitmapSource bitmapSource = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Bitmap) as BitmapSource;
         if (bitmapSource != null)
         {
             MemoryStream data = WpfPayload.SaveImage(bitmapSource, "image/bmp");
             dataObjectToApply = new DataObject();
             formatToApply     = DataFormats.XamlPackage;
             dataObjectToApply.SetData(DataFormats.XamlPackage, data);
         }
     }
     if (formatToApply == DataFormats.XamlPackage)
     {
         if (This.AcceptsRichContent && This.Selection is TextSelection && SecurityHelper.CheckUnmanagedCodePermission())
         {
             object       pasteData    = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.XamlPackage);
             MemoryStream memoryStream = pasteData as MemoryStream;
             if (memoryStream != null)
             {
                 object obj = WpfPayload.LoadElement(memoryStream);
                 if ((obj is Section || obj is Span) && TextEditorCopyPaste.PasteTextElement(This, (TextElement)obj))
                 {
                     return(true);
                 }
                 if (obj is FrameworkElement)
                 {
                     ((TextSelection)This.Selection).InsertEmbeddedUIElement((FrameworkElement)obj);
                     return(true);
                 }
             }
         }
         dataObjectToApply = dataObject;
         if (dataObjectToApply.GetDataPresent(DataFormats.Xaml))
         {
             formatToApply = DataFormats.Xaml;
         }
         else if (SecurityHelper.CheckUnmanagedCodePermission() && dataObjectToApply.GetDataPresent(DataFormats.Rtf))
         {
             formatToApply = DataFormats.Rtf;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.UnicodeText))
         {
             formatToApply = DataFormats.UnicodeText;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply = DataFormats.Text;
         }
     }
     if (formatToApply == DataFormats.Xaml)
     {
         if (This.AcceptsRichContent && This.Selection is TextSelection)
         {
             object pasteData2 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Xaml);
             if (pasteData2 != null && TextEditorCopyPaste.PasteXaml(This, pasteData2.ToString()))
             {
                 return(true);
             }
         }
         dataObjectToApply = dataObject;
         if (SecurityHelper.CheckUnmanagedCodePermission() && dataObjectToApply.GetDataPresent(DataFormats.Rtf))
         {
             formatToApply = DataFormats.Rtf;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.UnicodeText))
         {
             formatToApply = DataFormats.UnicodeText;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply = DataFormats.Text;
         }
     }
     if (formatToApply == DataFormats.Rtf)
     {
         if (This.AcceptsRichContent && SecurityHelper.CheckUnmanagedCodePermission())
         {
             object pasteData3 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Rtf);
             if (pasteData3 != null)
             {
                 MemoryStream memoryStream2 = TextEditorCopyPaste.ConvertRtfToXaml(pasteData3.ToString());
                 if (memoryStream2 != null)
                 {
                     TextElement textElement = WpfPayload.LoadElement(memoryStream2) as TextElement;
                     if ((textElement is Section || textElement is Span) && TextEditorCopyPaste.PasteTextElement(This, textElement))
                     {
                         return(true);
                     }
                 }
             }
         }
         dataObjectToApply = dataObject;
         if (dataObjectToApply.GetDataPresent(DataFormats.UnicodeText))
         {
             formatToApply = DataFormats.UnicodeText;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply = DataFormats.Text;
         }
     }
     if (formatToApply == DataFormats.UnicodeText)
     {
         object pasteData4 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.UnicodeText);
         if (pasteData4 != null)
         {
             return(TextEditorCopyPaste.PastePlainText(This, pasteData4.ToString()));
         }
         if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply     = DataFormats.Text;
             dataObjectToApply = dataObject;
         }
     }
     if (formatToApply == DataFormats.Text)
     {
         object pasteData5 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Text);
         if (pasteData5 != null && TextEditorCopyPaste.PastePlainText(This, pasteData5.ToString()))
         {
             return(true);
         }
     }
     return(false);
 }