Using Telerik GridView. If a cell is wrapped multi-lines (the more lines the easier to reproduce), and the grid has both vertical and horizontal scrollbars. 1) Fill one of the cells with a bunch of text in which will cause multi-line text wrapping of within that column. 2) Set focus to a different grid row 3) scroll the vertical scrollbar all the way to the bottom 4) scroll the horizontal scrollbar far enough away to lose visual of the Column 5) scroll the horizontal bar back to the right Result: the vertical scrollbar will jump. Expected: The scrollbars should not jump like this as it does not happen when the cell does not contain word-wrapped text.
An exception with the following StackTrace is thrown: at System.Windows.Threading.Dispatcher.VerifyAccess() at System.Windows.DependencyObject.GetValue(DependencyProperty dp) at Telerik.Windows.Data.FilterDescriptor`1.get_FilteringExpression() at Telerik.Windows.Data.FilterDescriptor`1.CreateFilterExpression(ParameterExpression parameterExpression) at Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(Expression instance) at Telerik.Windows.Data.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression() at Telerik.Windows.Data.Expressions.FilterExpressionBuilder.CreateFilterExpression() at Telerik.Windows.Data.QueryableExtensions.Where(IQueryable source, CompositeFilterDescriptorCollection filterDescriptors) at Telerik.Windows.Data.QueryableCollectionView.CreateView()
Available in R3 2017 Release
A workaround for the issue is to use RadObservableCollection as a source collection. Before the items are added to it, call the its SuspendNotifications method. Respectively, after that call the ResumeNotifications one. Another approach would be to populate the items through the AddRange method of the collection.
Available in LIB version: 2017.2.522
Available in the R1 2017 SP1 Release.
I have a custom column based on GridViewBoundColumnBase. In it I override GetCellContent. If I bind the column to a nested property (MyProperty.SubProperty), what I return in GetCellContent is not shown, instead the nested property's "raw" value is shown. Attached is a project illustrating the issue.
1. Run the sample application. 2. Scroll to the last item. 3. Begin to resize the window. The direction is irrelevant. Only the horizontal scrollbar needs to be visible. 4. Observe that in the beginning of the resizing, the scrollbar auto scrolls upwards a little and the last item is half hidden.
I have a RadGridView and bind its ItemsSource and its SelectedItem to properties of the ViewModel (DataContext). When the ViewModel is created, the property bound to ItemsSource is filled and the property bound to SelectedItem is set to one of the items in the collection. However, when the GridView is displayed, the property is first set to null and then set to the first item in the collection. I assume that the binding of the SelectedItem is evaluated before the binding of the ItemsSource, so the grid is empty and the desired item can't be selected. Is there any way to influence the order, in which the binding are evaluated? Or is there any other way to avoid that the SelectedItem is changed? A similar issue is described here: http://www.telerik.com/forums/selecteditem-binding-issue Unfortunately, I couldn't to find the support ticket mentioned in this thread.
workaround: public MainWindow() { InitializeComponent(); this.grid.Loaded += grid_Loaded; } void grid_Loaded(object sender, RoutedEventArgs e) { this.grid.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "PART_OuterGrid").RowDefinitions[1].Height = GridLength.Auto; var cells = this.grid.ChildrenOfType<GridViewHeaderCell>(); foreach (GridViewHeaderCell cell in cells) { cell.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "PART_OuterGrid").RowDefinitions[1].Height = GridLength.Auto; } }