Workaround: public class CustomRadRichTextEditor : RadRichTextEditor { /// <summary> /// Gets or sets the width of the caret. /// </summary> [Browsable(false)] [Category(RadDesignCategory.AppearanceCategory)] public new float CaretWidth { get { float caretWidth = base.CaretWidth; if (float.IsNaN(caretWidth)) { return 2; } return caretWidth; } set { base.CaretWidth = value; } } }
How to reproduce: check the attached video Workaround: public partial class Form1 : Form { private RadButtonElement buttonHeader; private RadButtonElement buttonFooter; public Form1() { InitializeComponent(); this.buttonHeader = (RadButtonElement)this.richTextEditorRibbonBar1.GetType().GetField("buttonHeader", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this.richTextEditorRibbonBar1); this.buttonFooter = (RadButtonElement)this.richTextEditorRibbonBar1.GetType().GetField("buttonFooter", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this.richTextEditorRibbonBar1); this.radRichTextEditor1.RichTextBoxElement.IsInHeaderFooterEditModeChanged += RichTextBoxElement_IsInHeaderFooterEditModeChanged; } private void RichTextBoxElement_IsInHeaderFooterEditModeChanged(object sender, EventArgs e) { if (!this.radRichTextEditor1.RichTextBoxElement.IsInHeaderFooterEditMode) { this.buttonHeader.Enabled = true; this.buttonFooter.Enabled = true; } else { this.buttonHeader.Enabled = false; this.buttonFooter.Enabled = false; } } }
To reproduce: - Click the AA Styles button to open the Styles dialog. - Scroll down and select the CodeBlock item - The style does not change
To reproduce: - Click the InsertMergeFiled button before setting the data source. - Set the data source. - Click the button again. - There are no items in it. Workaround: Friend Class MyRichTextEditorRibbonBar Inherits RichTextEditorRibbonBar Protected Overrides Sub dropDownButtonInsertMergeField_DropDownOpening(sender As Object, e As CancelEventArgs) MyBase.dropDownButtonInsertMergeField_DropDownOpening(sender, e) If Me.dropDownButtonInsertMergeField.Items.Count = 0 Then Me.dropDownButtonInsertMergeField.Items.Add(New RadItem) End If End Sub End Class
"http://" prefix is automatically added by the Insert Hyperlink Dialog when the provided URI is to local path or mapped drive, e.g. "Z:\temp". Workaround 1: Set HyperlinkPattern to something that matches file paths, e.g.: (this.radRichTextEditor1.RichTextBoxElement.InsertHyperlinkDialog as InsertHyperlinkDialog).HyperlinkPattern = ".*"; Workaround 2: Insert such paths with the "file://" prefix.
This field retrieves a character through a code value specified in the field-argument. Such documents are common and are created when symbols (e.g. with font Windings through Insert -> Symbol dialog) are inserted in RTF documents in MS Word.
The attached video shows how you can reproduce this.
To reproduce: Please refer to the attached sample application and video demonstrating the experience issue. Workaround: Set RadRichTextEditor to null in Form`s Dispose method: Protected Overrides Sub Dispose(ByVal disposing As Boolean) Me.RadRichTextEditor1 = Nothing Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub
Workaround: use a custom RichTextEditorRibbonBar Public Class CustomRichTextEditorRibbonBar Inherits RichTextEditorRibbonBar Dim headerText As String Protected Overrides Function GetInsertTableItems() As RadItemCollection Dim collection As RadItemCollection = MyBase.GetInsertTableItems() Dim headerItem As RadMenuInsertTableItem = TryCast(collection(0), RadMenuInsertTableItem) headerText = "My Header Text" Dim fi As FieldInfo = GetType(RadMenuInsertTableItem).GetField("header", BindingFlags.NonPublic Or BindingFlags.Instance) Dim header As LightVisualElement = fi.GetValue(headerItem) header.Text = headerText AddHandler header.TextChanged, AddressOf header_TextChanged Return collection End Function Private Sub header_TextChanged(sender As Object, e As EventArgs) Dim lve As LightVisualElement = TryCast(sender, LightVisualElement) If lve.Text = "Insert Table" Then lve.Text = headerText End If End Sub End Class
Please refer to the attached screenshot. It is not possible to localize the marked label. Workaround: Sub New() InitializeComponent() Me.RadRichTextEditor1.RichTextBoxElement.InsertHyperlinkDialog = New CustomInsertHyperlinkDialog() End Sub Public Class CustomInsertHyperlinkDialog Inherits InsertHyperlinkDialog Protected Overrides Sub OnLoad(e As EventArgs) MyBase.OnLoad(e) Me.Controls("radLabel4").Text = "My address" End Sub End Class
Merge all assemblies exept Telerik.WinControls.UI.Design.dll. Use the merged assembly in an application with RichTextEditorRibbonBar. The icons are missing.
When the specified length of the stream is larger than the actual one, Adobe throws errors and removes the image. Workaround: Set the format provider settings: PdfFormatProvider provider = new PdfFormatProvider(); PdfExportSettings exportSettings = new PdfExportSettings(); exportSettings.ContentsDeflaterCompressionLevel = 9; exportSettings.ImagesDeflaterCompressionLevel = 9; provider.ExportSettings = exportSettings;
To reproduce: private void radButton1_Click(object sender, EventArgs e) { var document = new RadDocument(); var section = new Section(); document.Sections.Add(section); var paragraph = new Paragraph(); section.Blocks.Add(paragraph); var span = new Span("BOLD"); span.FontWeight = FontWeights.Bold; paragraph.Inlines.Add(span); span = new Span(" REGULAR"); paragraph.Inlines.Add(span); editor.Document = document; var pdfExporter = new PdfFormatProvider(); var path = Path.GetTempFileName() + ".pdf"; using (var file = File.Create(path)) { pdfExporter.Export(document, file); file.Flush(); file.Close(); } Process.Start(path); } Workaround: export .docx file and use the RadWordsProcessing library to import the .doc file and export it to pdf: private void radButton1_Click(object sender, EventArgs e) { var document = new RadDocument(); var section = new Section(); document.Sections.Add(section); var paragraph = new Paragraph(); section.Blocks.Add(paragraph); var span = new Span("BOLD"); span.FontWeight = FontWeights.Bold; paragraph.Inlines.Add(span); span = new Span(" REGULAR"); paragraph.Inlines.Add(span); editor.Document = document; var wordExporter = new Telerik.WinForms.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider(); var wordPath = Path.GetTempFileName() + ".doc"; using (var file = File.Create(wordPath)) { wordExporter.Export(document, file); file.Flush(); file.Close(); } Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider(); using (Stream input = File.OpenRead(wordPath)) { Telerik.Windows.Documents.Flow.Model.RadFlowDocument doc = provider.Import(input); Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider pdfProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider(); string filePath = @"..\..\" + DateTime.Now.ToLongTimeString().Replace(":", "-"); using (var output = File.Create(filePath)) { pdfProvider.Export(doc, output); } Process.Start(filePath); } }