Here is my solution, it's not terrible. Maintain a flag indicating first time initialization is in progress. Once the last tile in xaml is positioned then set tiles to desired position and turn off flag
code
Partial
Public
Class
MainPage
Inherits
UserControl
'in xaml position is : 1 2 3 4 5
'desired position is : 2 1 3 4 5
Private
_firstTime
As
Boolean
=
True
Public
Sub
New
()
InitializeComponent()
End
Sub
Private
Sub
LastTile_PositionChanged(sender
As
Object
, e
As
Telerik.Windows.RadRoutedEventArgs)
If
_firstTime
Then
_firstTime =
False
Tile2.Position = 0
'this is not honored
End
If
End
Sub
End
Class
xaml
<
UserControl
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
x:Class
=
"TelerikTileViewTest.MainPage"
mc:Ignorable
=
"d"
d:DesignHeight
=
"400"
d:DesignWidth
=
"800"
>
<
Grid
x:Name
=
"LayoutRoot"
Background
=
"White"
>
<
telerik:RadTileView
Name
=
"TileView"
IsItemsAnimationEnabled
=
"False"
PreservePositionWhenMaximized
=
"True"
>
<
telerik:RadTileViewItem
Name
=
"Tile1"
Header
=
"Tile 1"
>
<
TextBlock
Text
=
"Tile 1 Content"
/>
</
telerik:RadTileViewItem
>
<
telerik:RadTileViewItem
Name
=
"Tile2"
Header
=
"Tile 2"
>
<
TextBlock
Text
=
"Tile 2 Content"
/>
</
telerik:RadTileViewItem
>
<
telerik:RadTileViewItem
Name
=
"Tile3"
Header
=
"Tile 3"
>
<
TextBlock
Text
=
"Tile 3 Content"
/>
</
telerik:RadTileViewItem
>
<
telerik:RadTileViewItem
Name
=
"Tile4"
Header
=
"Tile 4"
>
<
TextBlock
Text
=
"Tile 4 Content"
/>
</
telerik:RadTileViewItem
>
<
telerik:RadTileViewItem
Name
=
"Tile5"
Header
=
"Tile 5"
PositionChanged
=
"LastTile_PositionChanged"
>
<
TextBlock
Text
=
"Tile 5 Content"
/>
</
telerik:RadTileViewItem
>
</
telerik:RadTileView
>
</
Grid
>
</
UserControl
>