Telerik Forums
UI for WPF Forum
1 answer
109 views

I have a RadGridView with ItemsSource bound to a collection of business objects.  The grid has a GridViewDataColumn bound to a property with a TwoWay binding.  The property has a validation attribute.

When the user is editing the cell, and presses <Enter>, the validation attribute's IsValid() method is invoked, and if validation succeeds, the griid navigates to the same column in the next row.  But if validation fails, the failure is visualized and the navigation does not occur.  In fact, any attempt to navigate away from the cell by any means causes validation, and if the validation fails, the navigation does not occur.  This is all good, and exactly as it should be.  Anything less would be wrong -- what's the point of validation if it doesn't force the user to enter valid data?

But here's my problem.  I also want the down and up arrows to navigate up and down while editing.  Seems as if it should be straight forward -- just preview KeyDown, handle up and down keys and execute the grid's MoveUp and MoveDown commands, right?  Wrong.  When the grid's MoveUp or MoveDown command is executed, the validation attribute's IsValid() method is still invoked, but a failed validation does not prevent the navigation.

This seems like such a routine requirement that I feel like I must be missing something.  The reason for the existence of the MoveUp, MoveDown, etc., commands seems to be the recognition that navigation controls might need to be more robust that the default behaviors.  But those command circumventing validation appears to make them useless.  Surely I'm just missing something.

 

Stefan
Telerik team
 answered on 05 May 2017
1 answer
47 views

Hi,

since we don't need the TimeRuler of the WeekView in our project, I've hid it and set the Minor/MajorTickLengthes to "1day", so all appointments of that day appear in one big cell.

Problem is, that - since the appointments happen at the "same time", they appear next to- instead of below each other.

When I activate the AllDayArea, my Appointments show up below each other but I still have the big - formerly TimeRuler - area, which I can't get rid of.

Any Ideas?

Thanks

ITC
Top achievements
Rank 1
 answered on 05 May 2017
1 answer
123 views
Hello i want replace the 3 default buttons of the radform with  simple radbutton (add, edit, delete). I want to preserve the current functionaloties of the 3 buttons ( for example the enabled of the add button property when i click on edit) whay is the simpliest way to achieve that?
Stefan
Telerik team
 answered on 05 May 2017
3 answers
212 views
The default rotation behavior for all shapes on the diagram works around the center of the shape. I need to change this behavior to rotate around the top left corner of the shape/shapes. I need any sample code for this.
Tanya
Telerik team
 answered on 05 May 2017
1 answer
169 views

I have an issue using the RadialMenu with the GridView.

If I use the following code : 

<telerik:RadGridView x:Name="GridView"
                     adhoc:ColumnStackPanel.Column="2"
                     AutoGenerateColumns="False"
                     MaxHeight="300">
    <telerik:RadGridView.Resources>
        <Style TargetType="telerik:GridViewRow" BasedOn="{StaticResource {x:Type telerik:GridViewRow}}">
            <Setter Property="telerik:RadRadialMenu.RadialContextMenu">
                <Setter.Value>
                    <telerik:RadRadialMenu ShowEventName="GotFocus" HideEventName="LostFocus"
   
                                                                           StaysOpenOnShow="True"
                                   PopupPlacement="MousePoint">
                        <telerik:RadRadialMenuItem Header="Hello" />
                        <telerik:RadRadialMenuItem Header="World" />
                    </telerik:RadRadialMenu>
                </Setter.Value>
            </Setter>
        </Style>
    </telerik:RadGridView.Resources>
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn DataMemberBinding="{Binding Data1}" IsReadOnly="True" Header="Data1" />
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

I will have a NullReferenceException with the following stacktrace if I scroll down and backward two time :

   at Telerik.Windows.Controls.RadRadialMenu.OnRadialContextMenuChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
   at System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1& exclusionContainerDependents, FrugalStructList`1& oldContainerDependents, FrugalStructList`1& newContainerDependents)
   at System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle)
   at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache)
   at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
   at System.Windows.FrameworkElement.UpdateStyleProperty()
   at System.Windows.TreeWalkHelper.InvalidateOnTreeChange(FrameworkElement fe, FrameworkContentElement fce, DependencyObject parent, Boolean isAddOperation)
   at System.Windows.FrameworkElement.OnVisualParentChanged(DependencyObject oldParent)
   at System.Windows.Media.Visual.FireOnVisualParentChanged(DependencyObject oldParent)
   at System.Windows.Media.Visual.RemoveVisualChild(Visual child)
   at System.Windows.Media.VisualCollection.DisconnectChild(Int32 index)
   at System.Windows.Media.VisualCollection.InternalRemove(Visual visual)
   at System.Windows.Controls.UIElementCollection.RemoveInternal(UIElement element)
   at System.Windows.Controls.UIElementCollection.Remove(UIElement element)
   at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.NestedLayoutStrategy.DisconnectRecycledContainers()
   at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.NestedLayoutStrategy.MeasureOverride(Size constraint)
   at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.MeasureOverride(Size availableSize)
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
   at System.Windows.UIElement.Measure(Size availableSize)
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
   at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at Adhoc.ToolsWPF.Sample.App.Main()
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

 

This is obviously caused by virtualisation.

I tried to set the RadialMenu as ContextMenu directly in the RadGridView managing the ItemsSource of the RadialMenu with the selecteditem of the RadGridView but I have another issue where the RadialMenu will show and hide if the show event occure while the selected row change.

Nasko
Telerik team
 answered on 05 May 2017
2 answers
79 views

Hi,

the scrollbar doesn't appear in the filtercontrol whan I have a lot of distinct items in a gridview.

I use the Windows8Touch theme without customization.

Any idea ?

Thanks

Julien
Top achievements
Rank 1
 answered on 05 May 2017
1 answer
89 views
I have a requirement to generate columns once define column count on top of the grid, how can I achieve this, 
attached image file I depict the way I'm expecting this.
Kelum
Top achievements
Rank 2
 answered on 04 May 2017
2 answers
259 views

Hello,

I have a very simple piece of code to bind my RadMenu control to an ObservableList of Menus.

My xaml looks like this:

<telerik:RadMenu Name:"MainMenu" ItemsSource="{Binding Menus}"/>

This works fine. In order to display something more interesting, I can add:

<telerik:RadMenu Name:"MainMenu" ItemsSource="{Binding Menus}" DisplayMemberPath="Name" />

And I get the Name property of my Menus displayed.

Now I would like to get a step further as my Menu class has a SubMenus property so I try to play with RadMenuItem styling and this is where I get lost.

If I write simple code like this, that according to me should do the same as the DisplayMemberPath :

<telerik:RadMenu Name:"MainMenu" ItemsSource="{Binding Menus}" >

      <telerik:RadMenu.Resources>

            <Style TargetType="telerik:RadMenuItem">

                    <Setter Property="Header" Value="{Binding Name}"/>

            </Style>

       </telerik:RadMenu.Resources>

</telerik:RadMenu>

Nothing is displayed on my window when running the code. 

I have checked everything, I can see in my view that the Menu is created and the items inside, etc... but the RadMenus don't display.

As soon as I comment out the Style, menus are displayed. As everything else is straightforward in my code, I think I am missing something obvious but I can't find it. There is no error in debug for binding issues or else.

I use Telerik 2017.1.22.45.

Thanks for your feedback.

Alexandre
Top achievements
Rank 1
 answered on 04 May 2017
5 answers
245 views

Hello,

I'm using telerik control tools for WPF UI ver: 2015.1.0401.45

I have noticed that radlistbox has a huge memory leak. On replacing radlistbox with Microsoft listbox, memory leak does not occur.

I'm attaching the demo project (replace extension of file from  .jpg to .zip).

This project demonstrates the problem of memory leak. Actually the memory leak occurs on data binding

I've remarked the Microsoft listbox in xaml, so to prove my claim, just use Microsoft listbox instead  of radlistbox and see the difference in memory usage of the processes.

Do you have a patch to fix this issue ?

Thank you,

Alex

 

Kalin
Telerik team
 answered on 03 May 2017
1 answer
65 views
I have a Radar with Markers Graph and have the graph axis for the angular axis set from 0 to 360  (like a polar graph). However, I would like to rotate it where instead of a '0' on the top, it say 180, then 270 instead of 90, etc. Basically ad 180 degrees and flip it upside down. 
Stef
Telerik team
 answered on 03 May 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?