Declined
Last Updated: 13 Aug 2025 07:27 by ADMIN
Created by: Florin
Comments: 1
Category: TileView
Type: Feature Request
0

Dear Telerik Development Team,

First of all, I want to thank you for your great work on the RadTileView control for WPF. I appreciate the effort and attention to detail that you have invested in this component.
In my projects, RadTileView has brought significant value thanks to its visual appearance, the smooth animation when maximizing or restoring tiles, and the ability to provide distinct content for minimized and maximized states. It truly enhances the user experience, and I find the dynamic layout engaging and modern.

However, I have faced some challenges related to tile reordering and positioning:

  • The drag & drop rearrangement mechanism sometimes behaves in unpredictable or unintuitive ways, especially when there are many tiles or when tiles have different sizes.

  • There is currently no straightforward way to specify the exact row and column position of each tile when dynamically adding them from code.

  • It would be extremely useful to have a way to control or "lock" a tile to a specific grid position, for example by exposing explicit row and column properties for each tile, or by allowing developers to define the exact layout coordinates when adding tiles dynamically. This feature would make it possible to programmatically manage tile placement in complex dashboards, rather than relying only on the automatic layout and drag & drop interactions.

Such functionality would be highly beneficial in many scenarios, especially for enterprise dashboards where the layout must follow strict business requirements and should not be left to chance or automatic algorithms.

Would it be possible to consider this kind of feature for a future release?
If there is a known workaround or recommended approach to achieve precise tile positioning with the current RadTileView, I would greatly appreciate your guidance.

Thank you again for your work and support.
Looking forward to your reply!

Best regards,

Unplanned
Last Updated: 26 Nov 2024 14:09 by Stenly
Add support for rows with different heights when using the TileViewPanel, which is the default ItemsPanel of the RadTileView.
Unplanned
Last Updated: 26 Jul 2023 10:04 by Stenly
Introduce support for specifying the speed of the auto-scrolling functionality (when the IsAutoScrollingEnabled property is set to True).
Completed
Last Updated: 24 Jul 2020 13:24 by ADMIN
Release LIB 2020.2.2707
When the IsSelectionEnabled and IsSynchronizedWithCurrentItem properties are set to True, an InvalidOperationException is thrown.
Completed
Last Updated: 26 May 2020 08:34 by ADMIN
Release LIB 2020.2.525 (5/26/2020)
Created by: Dinko
Comments: 0
Category: TileView
Type: Bug Report
0
The UnselectAll method, which comes from MultiSelector, does not unselect all items when manually select them one by one. The method will unselect the items in the order they were selected, one by one.
Unplanned
Last Updated: 12 Nov 2018 13:04 by ADMIN

Hi guys,

I am investigating a weird scrolling behavior in our app, I have more or less reproduced it in the attached sample app. I say 'more or less' because the little sample doesn't exactly have the same structure as our app but the result looks to be the same as what is happening in our software.

When declaring an unnamed style that targets the RadTileViewItem, scrolling the minimized TileViewItems while have one in the Maximized state, reverts all the minimized ones to their 'Normal' state as well as the one that was maximized. If the RadTileViewItem style is given a Key in the resource dictionary and used explicitly in the TileView's ItemContainerStyle property the scrolling works fine.

Both ways of using the style should, in my opinion, behave exactly the same.

Please take a look.

Thanks.

 

Completed
Last Updated: 12 Feb 2018 14:04 by ADMIN
Reproduced with Implicit Styles with NoXAML binaries only. The workaround is to set a fixed value for the RestoredHeight property of RadTileViewItem
Completed
Last Updated: 22 Dec 2017 14:26 by ADMIN
You can work this around by setting the PreservePositionWhenMaximized to False and implement custom preserving logic. You can see this approach in the attached project.

private bool isManualPositionChanged = false;
private Dictionary<RadTileViewItem, int> maximizedItemPositionCache = new Dictionary<RadTileViewItem, int>();

public MainWindow()
{
	InitializeComponent();
	this.xTileView.PreviewTileStateChanged += XTileView_PreviewTileStateChanged;
}

private void XTileView_PreviewTileStateChanged(object sender, Telerik.Windows.Controls.PreviewTileStateChangedEventArgs e)
{
	if (this.isManualPositionChanged)
            {
                return;
            }

            RadTileViewItem tileViewItem = (RadTileViewItem)e.OriginalSource;
            var header = tileViewItem.Header;
            TileViewItemState oldState = e.TileState;
            TileViewItemState newState = tileViewItem.TileState;

            if (newState == TileViewItemState.Minimized || newState == TileViewItemState.Restored)
            {
                if (maximizedItemPositionCache.ContainsKey(tileViewItem))
                {
                    this.isManualPositionChanged = true;
                    tileViewItem.Position = maximizedItemPositionCache[tileViewItem];
                    this.isManualPositionChanged = false;
                    maximizedItemPositionCache.Remove(tileViewItem);
                }
                if (newState == TileViewItemState.Restored)
                {
                    this.isManualPositionChanged = true;
                    var tileView = sender as RadTileView;
                    foreach (RadTileViewItem item in tileView.Items)
                    {
                        if (item.TileState == TileViewItemState.Maximized)
                        {
                            item.TileState = TileViewItemState.Restored;
                        }
                    }
                    this.isManualPositionChanged = false;
                }
            }
            else if (newState == TileViewItemState.Maximized)
            {
                if (!maximizedItemPositionCache.ContainsKey(tileViewItem))
                {
                    maximizedItemPositionCache[tileViewItem] = tileViewItem.Position;
                }
            }
}
Unplanned
Last Updated: 30 Jan 2017 07:45 by ADMIN
The values are switched. 

NewState holds the value of OldState. 
OldState holds the value of NewState 
Completed
Last Updated: 25 Aug 2017 12:40 by ADMIN
ADMIN
Created by: Dinko | Tech Support Engineer
Comments: 0
Category: TileView
Type: Bug Report
0
Workaround:
Create a custom style which target type is set to TileViewItemHeader and set it to the HeaderStyle property of the TileView. Then in the custom style, set a custom DataTemplate to the HeaderTemplate property. In this template specify a TextBlock and set its Margin property for instance.

Available in R3 2017 Official Release Version.
Unplanned
Last Updated: 03 Jan 2017 21:12 by Licensing
Created by: Licensing
Comments: 0
Category: TileView
Type: Feature Request
1

			
Unplanned
Last Updated: 04 Jan 2017 07:34 by ADMIN
When you add RadBook as a content of RadTileViewItem and reorder the TileViewItem you get ArgumentOutOfRangeException.

Workaround: You can set the width of the RadBook.
Completed
Last Updated: 23 Oct 2015 11:56 by ADMIN
When animating from one state to another the content Fills the entire area( before the items was not stretched and it took the space it required).


Available in LIB version: 2015.3.1026 
Unplanned
Last Updated: 26 Nov 2019 13:15 by ADMIN
In application with heavier styles and a slower machine when items are dragged and swiped it sometimes leads to exception:
Cannot animate the 'VerticalOffset' property on a 'Telerik.Windows.Controls.TileViewPanel' using a 'System.Windows.Media.Animation.DoubleAnimationUsingKeyFrames'
Completed
Last Updated: 08 Dec 2014 09:27 by ADMIN
With our Q3 2014 SP1 release an exception is thrown when you try to maximize an Item. 

Available in LIB version: 2015.1.1208
Completed
Last Updated: 02 Oct 2014 16:37 by ADMIN
The RadTileView throws an exception if you initially have a maximized and selected items in databound scenario. 

Fixed in LIB version: 2014.2.1006
Completed
Last Updated: 29 Feb 2016 14:48 by ADMIN
An item disappears if you have PreservePositionWhenMaximized=true and Virtualization=true and you maximize/minimize different items a couple of times.
Unplanned
Last Updated: 03 Jan 2017 20:22 by ADMIN
Then the FlowDirection is set to RightToLeft and you start dragging an RadTileViewItem it looks flipped.
1 2 3 4