Xceed Toolkit Plus for WPF v4.6 Documentation
Tableflow View: Smooth Scrolling and Other Animated Effects
Welcome to Xceed Toolkit Plus for WPF v4.6 > DataGrid, ListBox, Chart, AvalonDock, and PropertyGrid > Datagrid control > Fundamentals > Views and Themes > Views > Table and Tableflow Views > Tableflow View: Smooth Scrolling and Other Animated Effects
Prerequisite Knowledge
DataGrid Fundamentals: Views and Themes Overview

The Tableflow™ view is represented by the TableflowView class. It differs greatly from the TableView class from which it derives. It provides a rich, fluid, and high performance user experience, featuring a capabilities such as inertial smooth scrolling and animated full-column reordering, which mimic the physics of real-life movement.

Smooth Scrolling

The rows in the Tableflow™ view flow smoothly into the viewport, rather than simply popping into existence. This lets the end-user more easily see the data as it moves into view. Furthermore, smooth scrolling is supported when the data source is virtualized, which further improves the user experience.

The behavior of smooth scrolling is controlled through the RowFadeInAnimationDuration and ScrollingAnimationDuration properties, which represent the duration of these effects in milliseconds.

Sticky Items

The headers, footers (in groups and in master/detail), and parent rows in the viewport can be set so that they are "sticky". That is, while the end-user scrolls through data, the element is pinned and remains visible at the top or the bottom of the viewport until the data contained in that section has moved beyond the viewport. This is true whether the end-user is using the keyboard or the mouse (scrollbar or scroll wheel).

The following table lists the properties that control this aspect of the Table.

Table 1: Sticky properties

Property Description
AreFootersSticky Gets or sets a value indicating whether the view's footers are sticky.
AreGroupFootersSticky Gets or sets a value indicating whether the view's group footers are sticky.
AreGroupHeadersSticky Gets or sets a value indicating whether the view's group headers are sticky.
AreHeadersSticky Gets or sets a value indicating whether the view's headers are sticky.
AreParentRowsSticky Gets or sets a value indicating whether the view's parent rows are sticky.

Animated Column Reordering

When the IsAnimatedColumnReorderingEnabled property is set to true, dragging a column header results in the entire column being visible as it is moved, rather than simply the column header as is the case with TableView. This again improves the user's experience by letting him or her see what is being moved.

Flattening Groups

When the AreGroupsFlattened property is set to true, all groups are shifted to the left in the viewport and are aligned with the top-most group (i.e., they are not indented).

GroupNavigationControl

The GroupNavigationControl is displayed when the mouse pointer hovers over a group name in the group header. When clicked the group will be moved to the top of the viewport.

It is active by default and cannot be disabled.

Note: The GroupNavigationControl replaces the GroupNavigationButton.