Allow users to resize the tiles. Possibly by dragging a left-mouse cursor on the edges of the tiles. This will give flexiblity beyond the 3 fixed size of minimized, maximized, and restored.
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; } } }
Add a DragMode that doesn't swap the items but inserts the DraggedItem on the drop position. The XAML team has recently reviewed this request and will not be addressing it as at this time the team is focusing on the requests impacting the highest number of developers. If it is blocking for your work please contact us through the support ticketing system with details on your setup and a reference to this item.
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.
Add deferred scrolling support
DragAndDrop doesn't work in RadTileView on Mac OS with elevated trust and out of browser application
Allow the minimized items to be distributed in rows and columns simultaneously. DECLINED: Duplicated with https://feedback.telerik.com/Project/143/Feedback/Details/114124-tileview-allow-setting-a-number-of-minimized-rows-columns
Implement command support for events like TileStateChanged. Allow sending the TileItem, which state is changing, as an argument.
Design time error occurs when setting MinimizedRowHeight
Both events must be raised only once per item. Also, the event arguments of each event must contain a reference to the item that begins/ends its layout change.
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'
Allow users to dynamically change the DraggingItem
TextBox (or input control) is in LargeContent of FluidContentControl in RadTileViewItem. Validation fails and Red border is shown on the TextBox. TileState is changed then it is Maximized again. Validation fails again but no red border is shown.
The Header of the TileViewItems is bound only for the first X tiles, where X is the loadsize of the VirtualQueryableCollectionView
InvalidOperationException in thrown in design time in certain situations
Desinger crashes when using RowHeight=Auto and IsItemSizeInPercentages = true Available in LIB version: 2016.3.1107
An item disappears if you have PreservePositionWhenMaximized=true and Virtualization=true and you maximize/minimize different items a couple of times.