Exception when resizing column with width set to star and min-width set to 0.
Set the properties to the above and resize a column to 0 and then to the original width -> an exception occurs.
For the German language translations, the following resource keys are translated into Dutch instead:
The RadGridView control hangs when the frozen columns are enabled and the application is resized. The exact resizing depends on the screen resolution and the exact new size. This was originally recreated on a monitor with 1600x900 resolution 125% DPI and the application was maximized (resized from restored to full screen size). The issue occurs in the Fluent theme. Also, the FluentPalette.Palette.ScrollBarsMode static property should be set to Normal.
To work this around, you can overrider the MeasureOverride method of RadGridView and add the following code:
public class CustomGridView: RadGridView
{
private static readonly PropertyInfo internalColumnsProp = typeof(GridViewDataControl).GetProperty("InternalColumns", BindingFlags.Instance | BindingFlags.NonPublic);
private static MethodInfo invalidateColumnsMethod;
protected override Size MeasureOverride(Size availableSize)
{
if (EnableRowVirtualization && !double.IsInfinity(availableSize.Height))
{
var internalColumns = internalColumnsProp.GetValue(this);
if (invalidateColumnsMethod == null)
{
invalidateColumnsMethod = internalColumns.GetType().GetMethod("InvalidateColumnWidthsCalculation", BindingFlags.Instance | BindingFlags.NonPublic);
}
invalidateColumnsMethod.Invoke(internalColumns, null);
}
return base.MeasureOverride(availableSize);
}
This was reported in the Code11 and Code39 symbologies.
In the old RadBarcode39 and RadBarcode11 controls the minimum width where the barcode cannot be read any longer is around 180px in the specific scenario.
In the new RadBarcode and its Code11 and Code39 symbologies, the minimum width is different - around 270px. This reproduces when the SizingMode of the symbology is set to Stretch.
To work this around, you can set the SizingMode of the symbology to Snap. Or alternatively, you can use a bigger Width value for the barcode control, and then apply a ScaleTransform to resize it to the smaller size.
private void RadBarcode_Loaded(object sender, RoutedEventArgs e)
{
var barcode = (RadBarcode)sender;
var desiredWidth = 250;
double relativeWidthDelta = desiredWidth / barcode.ActualWidth;
barcode.LayoutTransform = new ScaleTransform() { ScaleX = relativeWidthDelta };
}
When the exported document contains a very precise indent values, these are saved using scientific notation, which is unsupported in MS Word. Opening the file in Word results in the following error: "Word experienced an error trying to open the file."
Here is an example of the troublesome setting in the body of the produced document:
<w:ind w:firstLine="6.420405952667352E-06" w:left="76.53543090820312" w:right="0" />
To work this around, you can open the exported document with the WordsProcessing library. This will give you a RadFlowDocument object which then can be exported to a file again. This will save the indent values properly in the new document.
var dplProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
using (var inputStream = File.OpenRead("../../../originalFile.docx"))
{
Telerik.Windows.Documents.Flow.Model.RadFlowDocument flowDoc = dplProvider.Import(inputStream, TimeSpan.FromSeconds(5));
using (var outputStream = File.OpenWrite("../../../convertedFile.docx"))
{
dplProvider.Export(flowDoc, outputStream, TimeSpan.FromSeconds(5));
}
}
Or if you use the RichTextBox document model only to create documents in code (without using the RadRichTextBox control), you can replace the code with the WordsProcessing API.
When the RadScheduleView has a recurring appointment with no end date for its recurrence in certain scenarios multiple errors can be try/catch-ed internally, which leads to a degraded performance. One such scenario is when a recurring appointment with no end date starts before the currently displayed time period, but does not have any occurrences before the displayed time period.
As a workaround, an end date can be added to the recurrence rule of recurring appointments.
A SocketException can occur when the ImageInline source is assigned to a link pointing to a picture on a remote server (a website). For example: UriSource ="https://docs.telerik.com/devtools/wpf/knowledge-base/images/kb-chartview-categorical-and-datetime-axis-0.png"
This could happen during the fetching of the image stream. In some cases, the server may give a NetworkStream or ConnectionStream, or similar Stream implementation, which keeps an open connection between the application and the server. If the connection get severed during the stream reading, an exception is thrown.
The exception message is: "Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."
The stacktrace is:
Exception Info: System.Net.Sockets.SocketException
at System.Net.Sockets.NetworkStream.Read(Byte[], Int32, Int32)
Inner Exception:
Exception Info: System.IO.IOException
at System.Net.ConnectStream.Read(Byte[], Int32, Int32)
at System.IO.Stream.InternalCopyTo(System.IO.Stream, Int32)
at Telerik.Windows.Documents.Layout.ExtensionMethods.ToMemoryStream(System.IO.Stream)
at Telerik.Windows.Documents.Model.ImageInline.<SetStreamFromUriSource>b__0(System.Object, StreamReadyEventArgs)
at Telerik.Windows.Documents.Utils.ResourceStreamLocator.OnStreamReady()
at System.Net.WebClient.OnOpenReadCompleted(System.Net.OpenReadCompletedEventArgs)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
When the TitleBarVisibility is Collapsed, the backstage close button is aligned with the top of the backstage adorner. The button should have a top margin applied.
This reproduces when the BackstagePosition property of RadRibbonBackstage is set to Office2013, which is the default setting of newer Telerik themes.
To work this around, get the backstage close button and set its top margin.
private void RadRibbonBackstage_Loaded(object sender, RoutedEventArgs e)
{
var backstage = (RadRibbonBackstage)sender;
var closeButton = backstage.FindChildByType<RadRibbonButton>();
closeButton.Margin = new Thickness(closeButton.Margin.Left, 15, closeButton.Margin.Right, closeButton.Margin.Bottom);
}