Reproduced with Implicit Styles with NoXAML binaries only. The workaround is to set a fixed value for the RestoredHeight property of RadTileViewItem
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; } } }
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.
Allow setting a number of minimized rows/columns in RadTileView Available in R1 2017 Release
Desinger crashes when using RowHeight=Auto and IsItemSizeInPercentages = true Available in LIB version: 2016.3.1107
Enable reordering of TileViewItems when in Minimized mode. Available in R3 2016 SP
Implement a touch swipe scrolling for RadTileView
Allow restored tiles to span multiple columns/rows. This feature is somewhat similar to allowing custom sizes of restored tiles. We have create an SDK example showing how the default panel of the RadTileView can be modified to achieve this scenario: you can find the demo in our online git hub repository (https://github.com/telerik/xaml-sdk/tree/master/TileView/RestoredTilesToSpanMultipleRowsAndColumns).
An item disappears if you have PreservePositionWhenMaximized=true and Virtualization=true and you maximize/minimize different items a couple of times.
If you set the IsEnabled property to false the control disappears while it should be transparent.
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
With our Q3 2014 SP1 release an exception is thrown when you try to maximize an Item. Available in LIB version: 2015.1.1208
The RadTileView throws an exception if you initially have a maximized and selected items in databound scenario. Fixed in LIB version: 2014.2.1006
If you have a nested TileView and its MaximizeMode is One you'll still be able to press the Minimize button of the Maximized tile and this will lead to incorrect layout.
TileViewItems' opacity is lost after drag and drop - if you set an opacity different than 1.0 in XAML it will be overridden after a DnD operation with this item.
When you replace a business item in binding scenarios the old item is not removed from the tileView.