Telerik Forums
UI for WPF Forum
2 answers
187 views
Is it possible to prevent selection with the arrow keys? Whenever I press an arrow key the selected date change, but I would prefer if the selection wasn't changed until I confirm with Enter (which makes the popup close). I'm binding to SelectedDate and tried to set the UpdateSourceTrigger to LostFocus, but that didn't work.
Magnus
Top achievements
Rank 1
 answered on 27 Mar 2017
1 answer
115 views

Hi,

I am having a problem with usage of cancel operation of DragInitializeEventArgs e in DragInitializeHandler.

After canceling particular items drag functionality it switches to parent item and marks it as chosen for dragging. 

  private void HandleDragInitialize(object sender, DragInitializeEventArgs e)
        {

if(some condition)

{e.cancel=true;}

}

the item that belongs to mentioned condition will not get dragged but his parent instead.

Any solution? 

Martin Ivanov
Telerik team
 answered on 27 Mar 2017
3 answers
369 views
Hi All

  I am Using Rad Menu. Basically i am created 3 menu items like File View and Users
where as User menu item i have binded submenu from database. how to add click event for that submenus.
how can acheive that .
Thanks
G Dinakaran
Tim
Top achievements
Rank 1
 answered on 26 Mar 2017
2 answers
175 views

Hi,

i have the following LinearAxis defined in my RadCartesianChart:

<telerik:RadCartesianChart.VerticalAxis>
    <telerik:LinearAxis
        LabelOffset="1"
        LineThickness="0"
        LabelFormat="P0"
        Maximum="1"
        Minimum="0"  
        MajorStep="0.1">
    </telerik:LinearAxis>
</telerik:RadCartesianChart.VerticalAxis>

 

I want labels only at values 0.1 (10 %) and 0.9 (90 %). See pictures in attchment (yellow lines are CartesianGridLineAnnotation and the blue one is the ScatterLineSeries).

How can I do this?

Thanks

Thomas

 

Lance | Senior Manager Technical Support
Telerik team
 answered on 24 Mar 2017
1 answer
111 views

How can I specify AutomationIDs for Panes, Diagrams, and Nodes created at run-time in a project with MVVM architecture?  Is there any example available?

Peshito
Telerik team
 answered on 24 Mar 2017
3 answers
317 views

I am trying to bind a RadContextMenu to dynamic data. For now though I am simply creating three items in the initialization method.

When I run the code WITHOUT having set the ItemContainerStyle in the RadContextMenu, I get a ContextMenu, however the text being displayed is the class name of the item being bound (see attached file for example)

When I insert the ItemContainerStyle in the XAML, nothing is displayed. However, in the "Opened" event of the RadContextMenu, I do see that the menu is "trying" to open yet nothing is ever displayed.

Without ItemContainerStyle, I get a pop-up with the class name of the items.

With ItemContainerStyle, I get nothing.

Here is the code wireup:

XAML in the UserControl where the RadContextMenu is defined:

<telerik:RadContextMenu.ContextMenu>
    <telerik:RadContextMenu x:Name="WorkListContextMenu"
                            ItemsSource="{Binding WorkListContextMenuItems}"
                            Opened="WorkListContextMenu_Opened">
 
        <telerik:RadContextMenu.ItemContainerStyle>
            <Style TargetType="telerik:RadMenuItem">
                <Setter Property="Header" Value="{Binding Header}" />
                <Setter Property="ItemsSource" Value="{Binding SubItems}" />
                <Setter Property="IsEnabled" Value="{Binding IsEnabled}"/>
                <Setter Property="IsChecked" Value="{Binding IsChecked}"/>
            </Style>
        </telerik:RadContextMenu.ItemContainerStyle>
 
    </telerik:RadContextMenu>
</telerik:RadContextMenu.ContextMenu>

 

When I comment out the "telerik:RadContextMenu.ItemContainerStyle" section, the pop-up appears, but with the classname of the ItemsSource Binding objects.

Not sure what I can do, I've researched for two days now and cannot find the solution. Can someone please offer a suggestion as to what I'm doing wrong?

 

Kalin
Telerik team
 answered on 24 Mar 2017
5 answers
498 views

This is related to the grid's virtualization. The following code demonstrates the problem

View Models and models:

public class MainViewModel : ViewModelBase
{
    private ObservableCollection<Person> _persons = new ObservableCollection<Person>();
    private DelegateCommand<Person> _deletePersonCommand;
 
    public MainViewModel()
    {
        for (int i = 0; i < 30; i++)
        {
            _persons.Add(new Person()
            {
                FirstName = "Hello" + i,
                LastName = "World" + i,
            });
        }
    }
 
    public ObservableCollection<Person> Persons
    {
        get
        {
            return _persons;
        }
    }
 
    public DelegateCommand<Person> DeletePersonCommand
    {
        get
        {
            if (_deletePersonCommand == null)
            {
                _deletePersonCommand = new DelegateCommand<Person>(deletePerson);
            }
            return _deletePersonCommand;
        }
    }
 
    private void deletePerson(Person person)
    {
        _persons.Remove(person);
    }
}
 
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

 

 I have excluded the definition of the Delegate Command. It doesn't matter to this problem, since it will also happen with CallMethodAction, for example...

Here is the XAML:

<Window x:Class="GridViewRowRelativeSourceBug.MainWindow"
        Title="MainWindow" Height="250" Width="525">
    <Grid>
        <telerik:RadGridView Name="radGridView1" ShowGroupPanel="False" ShowGroupFooters="False" AutoGenerateColumns="False" ItemsSource="{Binding Persons}">
            <telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn IsReadOnly="True" Header="First Name">
                    <telerik:GridViewDataColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding FirstName}" />
                        </DataTemplate>
                    </telerik:GridViewDataColumn.CellTemplate>
                </telerik:GridViewDataColumn>
                 
                <telerik:GridViewDataColumn IsReadOnly="True" Header="Last Name">
                    <telerik:GridViewDataColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding LastName}" />
                        </DataTemplate>
                    </telerik:GridViewDataColumn.CellTemplate>
                </telerik:GridViewDataColumn>
 
                <telerik:GridViewDataColumn IsReadOnly="True" Header="Delete" Width="80">
                    <telerik:GridViewDataColumn.CellTemplate>
                        <DataTemplate>
                            <Button Content="Delete Me" Command="{Binding RelativeSource={RelativeSource AncestorType=telerik:RadGridView}, Path=DataContext.DeletePersonCommand}" CommandParameter="{Binding}" />
                        </DataTemplate>
                    </telerik:GridViewDataColumn.CellTemplate>
                </telerik:GridViewDataColumn>
            </telerik:RadGridView.Columns>
        </telerik:RadGridView>
    </Grid>
</Window>

 

Please note that instead of having a command for each item, the mainViewModel that contains the items, gets the command and the item to remove as a command parameter.

 

If you run this example, then there are 2 ways to delete the rows, one will work and the other will fail after deleting about 10 rows

 

Way #1, deleting from the start

first delete the items from the start, meaning, click on the "Delete Me" button of the first row, now after the first row was deleted, then click the "Delete Me" of the new first row.

You should be able to delete all the rows in that grid.

 

 

Way #2, deleting from the end:

Scroll to the end of the grid, and click on the "Delete Me" of the last row. Once it was removed, repeat this procedure for about 10 more times (the number of times is related to the number if rows that fits into the view, and I assume that container recycling is one of the causes to this problem).

You should see that at some point, the "Delete Me" will not do anything, and that the deletePerson function is never called.
In the Output window of Visual Studio you will see:

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

 

 

I must say that this bug is pretty old, and its weird that no one has reported it yet.

 

 

Stefan Nenchev
Telerik team
 answered on 24 Mar 2017
1 answer
125 views

I made the implementation of a RadRibbonWindow as it indicates the article: https://goo.gl/sj1Ank but when making the changes I have errors about the main class project. What could be happening?

 

 

 

 

Tanya
Telerik team
 answered on 23 Mar 2017
5 answers
104 views

We're currently using RadHorizontalDataAxis for a media-scrubber-like application like so.

1.<telerik:RadHorizontalDataAxis x:Name="FrameAxis" Grid.Row="0" Panel.ZIndex="1"
2.                     Stroke="DarkRed" Foreground="Gray" SizeChanged="FrameAxis_SizeChanged"
3.                     Minimum="{Binding Path=FirstValue, Source={x:Static local:MyEditorViewModel.Instance}, Mode=OneWay}"
4.                     Maximum="{Binding Path=Duration, Source={x:Static local:MyEditorViewModel.Instance}, Mode=OneWay}"   />

 

The result looks like the attached image.  The mess at the end is because there is a tick mark at 12 and then at 12.00000048877 (the Duration, and a correct value).

1) I'd like the axis to be smarter about ticks marks near the end.  In this sample, either only showing 12 or only showing 12.00000048877 would be desirable, but not both.  It looks like ChartView.LinearAxis has a SmartLabelsMode property that can do what we want.  However, is LinearAxis usable in a loose fashion, that is, without a ChartView?  Basic attempts to use it by itself weren't successful.

1) For application-specific purposes, I'd like to have some different stops at the ends.  I'd like to see "Start" at the beginning, then 0 followed by some number of other autogenerated ticks, followed by "End" at the end.  So, in the example, I'd like to see axis labels of "Start, "0", "4", "8", "12", and "End".  This seems like a mixture of categorical labels and smart/data-driven labels.  Any options for this?

1) Is there a better axis we should be using?

 

We don't particularly need a ChartView, but I ask this here since ChartView seems to be where all the axes fall.  If there's a better forum in which to ask, please let me know.

 

Martin Ivanov
Telerik team
 answered on 23 Mar 2017
1 answer
187 views

Hello,

is it possible to have a predefined grouping that the user can not remove? And is it possible to have a fix sort order on that grouping - also not changeable by the user?

 

Regards,

Raul

Stefan
Telerik team
 answered on 23 Mar 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?