Telerik Forums
UI for WPF Forum
0 answers
106 views
Here is a code sample that gets the Type Of the Next & Previous Annotation at the caret position.
.
Get TypeOf Next Annotation:
public static AnnotationRangeMarkerBase GetNextAnnotationMarker(this RadDocument document)
{
    if (!document.Selection.IsEmpty)
    {
        document.CaretPosition.MoveToPosition(document.Selection.Ranges.Last.EndPosition);
    }
 
    InlineLayoutBox inlineLayoutBox = document.CaretPosition.GetCurrentInlineBox();
    while (inlineLayoutBox != null && !(inlineLayoutBox.AssociatedInline is AnnotationRangeMarkerBase))
    {
        inlineLayoutBox = (InlineLayoutBox)DocumentStructureCollection.GetNextElementOfType(inlineLayoutBox, typeof(AnnotationMarkerLayoutBox));
    }
 
    if (inlineLayoutBox == null)
    {
        return null;
    }
 
 
    AnnotationRangeMarkerBase annotationMarker = inlineLayoutBox.AssociatedInline as AnnotationRangeMarkerBase;
    if (annotationMarker == null)
    {
        return null;
    }
 
    return annotationMarker;
}


Get TypeOf Previous Annotation:
public static AnnotationRangeMarkerBase GetPreviousAnnotationMarker(this RadDocument document)
{
    if (!document.Selection.IsEmpty)
    {
        document.CaretPosition.MoveToPosition(document.Selection.Ranges.Last.StartPosition);
    }
 
    InlineLayoutBox inlineLayoutBox = document.CaretPosition.GetCurrentInlineBox();
    do
    {
        inlineLayoutBox = (InlineLayoutBox)DocumentStructureCollection.GetPreviousElementOfType(inlineLayoutBox, typeof(AnnotationMarkerLayoutBox));
    }
    while (inlineLayoutBox != null && !(inlineLayoutBox.AssociatedInline is AnnotationRangeStart));
 
    if (inlineLayoutBox == null)
    {
        return null;
    }
 
    return inlineLayoutBox.AssociatedInline as AnnotationRangeMarkerBase;
}


This is how you can use the methods:
//Get the previous annotation type
AnnotationRangeMarkerBase previousAnnotationType = RadDocumentExtensions.GetPreviousAnnotationMarker(radRichTextBox.Document);
 
 
//Get the next annotation type
AnnotationRangeMarkerBase nextAnnotationType = RadDocumentExtensions.GetNextAnnotationMarker(radRichTextBox.Document);

I hope this help you as it did me.

p.s. This code was mostly given to me by the Telerik support team via a ticket that I sent.
Robert
Top achievements
Rank 1
 asked on 18 May 2012
1 answer
204 views
I have a column in my RadGridView that displays some text and then also contains a button that should only be visible to users with permission to change the data.  I'm using MVVM and the viewmodel exposes a boolean property named UserHasWriteAccess that indicates the user's permission level.  The column and its datatemplate are defined as follows.

<telerik:GridViewDataColumn Header="Reason Code">
    <telerik:GridViewDataColumn.CellTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
 
                <TextBlock Text="Lorem ipsum" />
                <Button Content="Edit"
                        Height="23"
                        HorizontalAlignment="Right"
                        Margin="4,0,0,0"
                        Visibility="{Binding DataContext.UserHasWriteAccess,
                                    Mode=OneTime,
                                    Converter={StaticResource BooleanToVisibilityConverter},
                                    RelativeSource={RelativeSource AncestorType=telerik:RadGridView}}">
            </Grid>
        </DataTemplate>
    </telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>

When UserHasWriteAccess is false, the button's visibility binding works fine most of the time (~99%) and the button does not show.  However, as the user scrolls up and down through the grid, eventually intermittent binding errors will suddenly appear for a row or two for which the binding worked previously.  Sometimes the user has to scroll up and down several times before it happens.  Other times it's immediate.  The errors say:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='Telerik.Windows.Controls.RadGridView', AncestorLevel='1''. BindingExpression:Path=DataContext.UserHasWriteAccess; DataItem=null; target element is 'Button' (Name=''); target property is 'Visibility' (type 'Visibility')

Curiously, when I inspect an errored binding using Snoop, it suddenly works again.

Is there a known issue with ancestor binding in RadGridView?
Pavel Pavlov
Telerik team
 answered on 18 May 2012
1 answer
388 views
Hello!

We are using MVVM pattern to build our application. One of our views uses number of NumericUpDown controls. If text of some NumericUpDown is set to empty string by user control displays red frame (see screenshot "validation error"). Property definition you can find in screenshot named "amount property".

The problem is that view model is not updated when text is empty and red frame is displayed. E.g. model still contains previous value.

What is correct way to notify View Model about missing data? Keep in mind that we have significant number of views and each contains set of numeric controls.
Georgi
Telerik team
 answered on 18 May 2012
0 answers
209 views
We have a WPF app which uses RadGrid. As part of the app functionality, we want the grid selection unit to always be of type "row". In addition to this, we also want to expose a mechanism where the user can select a cell value for copy/paste to clipboard. Is there a way to do this? For example, double clicking a cell copies the cell value where as single click always selects the row. Or right click on cell exposes the option to "Copy cell" value? 

Thanks!

H
Top achievements
Rank 1
 asked on 18 May 2012
1 answer
90 views
Does the wpf GridView support direct binding to SqlCeResultSet?
Vlad
Telerik team
 answered on 18 May 2012
1 answer
257 views
Hi,

I'm using RadControls for WPF (version 2012.1.326.40), and my question is about the RadTreeView.
Is it possible to show an overlay image over the RadTreeViewItem's DefaultImageSrc ?

Best regards,
Petar Mladenov
Telerik team
 answered on 18 May 2012
3 answers
348 views
Hi All,

Edit: The title should state that the issue is with ListView items and not ListBox items. Cannot change it now - sorry about the confusion.

I am trying to put a context menu on items in a ListView when that ListView is contained within a RadPanelBarItem that has a context menu. I hope the code example below illustrates what I am trying to do. If I don't add the following then the list items show the expected menu.

<telerik:RadContextMenu.ContextMenu>
     <telerik:RadContextMenu x:Name="_macroActionContextMenu" />
 </telerik:RadContextMenu.ContextMenu>

When I add it (as shown in the snippet below) then I always get the context menu associated with the RadPanelBarItem when I right click on the ListView elements rather than the context menu specified for the ListView.ItemContainerStyle.

Any help would be appreciated. My code snippet is below.

        <telerik:RadPanelBarItem Name="_rpbiMacros" Header="Macros" IsDropAllowed="False" Foreground="#FF4D4D4D" BorderBrush="#FFBCB596" >
            <telerik:RadContextMenu.ContextMenu>
                <telerik:RadContextMenu x:Name="_macroActionContextMenu" />
            </telerik:RadContextMenu.ContextMenu>
            <!--Constrain the size of the wrap panel so it can do its thing-->
            <Grid Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadPanelBar}}, Path=ActualWidth, Converter={StaticResource mathConverter}, ConverterParameter=@VALUE-12;0}">
 
                <!-- View as icons -->
 
                <WrapPanel Name="_wrpMacroActions"
                    Visibility="{Binding ViewMacroActionListAsIcons, Converter={StaticResource boolToVisibilityConverter}, ConverterParameter=Visibility.Collapsed}">
                    <ItemsControl ItemsSource="{Binding MacroActionViewModelList}" >
 
... omitted for clarity
 
                    </ItemsControl>
                </WrapPanel>
 
                <!-- View as list -->
 
                <ListView x:Name="_lviewMacroActions" ItemsSource="{Binding MacroActionViewModelList}" ButtonBase.Click="OnClick_ListViewHeader"
                    Visibility="{Binding ViewMacroActionListAsIcons, Converter={StaticResource invertBoolToVisibilityConverter}, ConverterParameter=Visibility.Collapsed}" >
                    <ListView.Resources>
                        <ContextMenu x:Key="itemContextMenu">
                            <MenuItem Header="Open" Click="OnClick_EditMacroAction">
                            </MenuItem>
                            <MenuItem Header="Delete" Click="OnClick_DeleteMacroAction" >
                                <MenuItem.Icon>
                                    <ContentControl Template="{StaticResource _rscDeleteImage}" />
                                </MenuItem.Icon>
                            </MenuItem>
                        </ContextMenu>
                    </ListView.Resources>
                    <ListView.ItemContainerStyle>
                        <Style TargetType="{x:Type ListViewItem}">
                            <Setter Property="telerik:RadContextMenu.ContextMenu" Value="{StaticResource itemContextMenu}" />
                            <EventSetter Event="MouseDoubleClick" Handler="OnDoubleClick_MacroAction" />
                        </Style>
                    </ListView.ItemContainerStyle>
                    <ListView.View>
                        <GridView>
                            <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Model.MacroName}"/>
                            <GridViewColumn Header="Description" DisplayMemberBinding="{Binding Model.MacroDescription}" />
                        </GridView>
                    </ListView.View>
                </ListView>
 
            </Grid>
        </telerik:RadPanelBarItem>

x
Scott
Top achievements
Rank 1
 answered on 17 May 2012
1 answer
158 views
HI,

i'm using RadControls for WPF Q1 2012 SP1 + c# to create my application. The problem i have:

I use two listboxes wich are bind to an observableCollection. Now i want to drag an item from listbox A to listbox B
what is quiet simple. But on Drop in listbox B i want to save changes in my database. how do i get the information
isdropped, which item is dropped,...?

I tried the Drop (drop="myDropEvent") Event from the listbox, but that was not helpfull.

Thanks
regards
Rene
Nick
Telerik team
 answered on 17 May 2012
3 answers
135 views
Hello,

I am trying to display 3 columns in one.
The result must be like this http://imageshack.us/photo/my-images/560/headergbiv.png/
Because the number of columns to display is variable the TreeListView is completly created in C#.
Is it possible to create such headers in this case?

Thank you
Nick
Telerik team
 answered on 17 May 2012
1 answer
146 views
I know how to implement a SnapBehavior for a ViewDefinition. But is there a way to implement different SnapBehaviors for different resources in the same view?
Yana
Telerik team
 answered on 17 May 2012
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
NavigationView (Hamburger Menu)
Wizard
ExpressionEditor
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
Callout
PasswordBox
SplashScreen
Localization
Rating
Accessibility
CollectionNavigator
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?