Currently, the drop down of RadComboBox contains only the RadComboBoxItems and the Clear Selection button. Add new content presenter that allows you to include extra visuals, like buttons or text.
The feature is similar to the AdditionalContent of RadTabControl.
A memory leak occurs in the RadTreeView control used for the table of contents in the RadPdfViewerNavigationPane, when changing the DocumentSource of RadPdfViewer at runtime.
To work this around, you can get the RadTreeView used by RadPdfViewerNavigationPane and manually clear its internal item storage before assigning the new DocumentSource.
private void ReloadDocument()
{
var navigationPane = this.pdfViewerNavigationPane;
var navigationPaneTreeView = navigationPane.FindChildByType<RadTreeView>();
if (navigationPaneTreeView != null)
{
object itemStorage = typeof(RadTreeView)
.GetProperty("ItemStorage", BindingFlags.Instance | BindingFlags.NonPublic)
.GetValue(navigationPaneTreeView);
MethodInfo itemStorageClearMethod = itemStorage.GetType().GetMethod("Clear", BindingFlags.Instance | BindingFlags.NonPublic);
itemStorageClearMethod.Invoke(itemStorage, null);
}
this.DocumentSource = theNewDocumentSource;
}
private void RadTreeListView_Filtering(object sender, Telerik.Windows.Controls.GridView.GridViewFilteringEventArgs e)
{
var treeListView = sender as RadTreeListView;
var internalColumns = treeListView.GetType().GetProperty("InternalColumns", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(treeListView);
internalColumns.GetType().GetProperty("ColumnWidthsCalculationPending", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(internalColumns, true);
}
private void RadTreeListView_Filtered(object sender, Telerik.Windows.Controls.GridView.GridViewFilteredEventArgs e)
{
Dispatcher.BeginInvoke(new Action(() =>
{
var treeListView = sender as RadTreeListView;
var internalColumns = treeListView.GetType().GetProperty("InternalColumns", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(treeListView);
internalColumns.GetType().GetProperty("ColumnWidthsCalculationPending", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(internalColumns, false);
}), System.Windows.Threading.DispatcherPriority.Loaded);
}
The ScreenTip no longer is displayed on mouse over of the owner element. This reproduces only if the element is hovered before the ScreenTips of the previously hovered element is closed. In other words this happens if the two elements that contain ScreenTips are overlapping are very close to one another and there is no space that allows closing the tooltip while moving the mouse.
To work this around, subscribe to the Opened event of the ScreenTip control and set its Visibility to Visible if the element was previously Collapsed.
<Window.Resources>
<Style TargetType="telerik:ScreenTip">
<EventSetter Event="Opened" Handler="ScreenTip_Opened" />
</Style>
</Window.Resources>
private void ScreenTip_Opened(object sender, RoutedEventArgs e)
{
var screenTip = (ScreenTip)sender;
if (screenTip.Visibility == Visibility.Collapsed)
{
screenTip.Visibility = Visibility.Visible;
}
}
In some cases the CartesianGridLineAnnotation can be offset with a single pixel from the expected position on the axis. For example, if the annotation is positioned at value 0 and there is a tick, a offset between the tick and the annotation can be observed.
To work this around, you can manually offset the annotation by setting its Top Margin.
<telerik:CartesianGridLineAnnotation Margin="0 1 0 0"/>
I just completed an evaluation of the RadPdfProcessing library for our medical practices. Unfortunately, we are not yet able to use this library for our application. We need to be able to annotate patient visit reports when visit notes require amendments or when we appeal billing decisions. We do this frequently and we need a way to automate this tedious and time consuming process. While the vision for the RadPdfViewer (ref. Unifying the Power of PdfViewer & PdfProcessing: Edit a PDF with our Newest Secret (6/12/2020)) was promising, there are still some issues for us. Following is a list of areas where we would like to see improvements:
1. We need the ability to add notes (like when editing is enabled in the AddDocumentContent_WPF sample application). But also be able to control font, font size, bolding, underlining, and highlighting and text color. Also we need to be able to go back and edit text and text formatting after new text is added and the text editing window closes. This is not yet possible. Ideally, this text also needs to allow multiple text fragments (Run's) where each text fragment can have its own formatting (bolding, color, etc.).
2. Each note needs to be in an optional bubble or box with an optional line or arrow to the highlighted (or strike-through) text in the original document. It would also be helpful if the bubble could be reshaped and moved to a more optimum location while maintaining the connecting line to the associated highlighted text. Automatically positioning the bubble when it is first created in adjacent white space is also desired.
4. We would like the above functionality to be implemented via a right click context menu for selected text in the original document. A command like "strike-through text and open note would be ideal".
5. If possible we also would like to pre-edit a pdf file as a RadFixedDocument and perform some or all of the above operations before the document is displayed in the RadPdfViewer. To do this we will need to be able to search for text in a given location in the pdf, select that text and then perform the desired operations (described above in 3. and 4.). This is needed for a majority of the changes that we need to make, that is, in sections of the document that we know from experience always require the same annotations. We see this functionality being integrated with AI enabled processes that are able to find and prepare billing appeals and assist with patient record amendments.
Respectfully, Bill Goforth, Professional Imaging LLC, Medical Systems Development, 360-528-1844