Hi,
I'm following the example of RestoredTilesToSpanMultipleRowsAndColumns_WPF on the provided developer examples and i have stumbled upon 2 problems:
- This example doesn't work without defining the RowsCount, i.e., trying to use an infinite number of rows:
<telerik:RadTileView x:Name=
"MyRadTileView"
>
<telerik:RadTileView.ItemsPanel>
<ItemsPanelTemplate>
<local:MultipleRowsAndColumnsPanel ColumnsCount=
"3"
/>
</ItemsPanelTemplate>
</telerik:RadTileView.ItemsPanel>
<telerik:RadTileViewItem Content=
"test"
local:TileViewAttachedProperties.Row=
"0"
local:TileViewAttachedProperties.Column=
"0"
/>
<telerik:RadTileViewItem Content=
"test2"
local:TileViewAttachedProperties.Row=
"0"
local:TileViewAttachedProperties.Column=
"1"
/>
<telerik:RadTileViewItem Content=
"test3"
local:TileViewAttachedProperties.Row=
"0"
local:TileViewAttachedProperties.Column=
"2"
/>
</telerik:RadTileView>
Error:
System.InvalidOperationException
HResult=0x80131509
Message=Cannot call Arrange on a UIElement with infinite size or NaN. Parent of type
'RestoredTilesToSpanMultipleRowsAndColumns.MultipleRowsAndColumnsPanel'
invokes the UIElement. Arrange called on element of type
'Telerik.Windows.Controls.RadTileViewItem'
.
Source=PresentationCore
StackTrace:
at System.Windows.UIElement.Arrange(Rect finalRect)
at RestoredTilesToSpanMultipleRowsAndColumns.MultipleRowsAndColumnsPanel.ArrangeOverride(Size finalSize)
in
...\RestoredTilesToSpanMultipleRowsAndColumns\MultipleRowsAndColumnsPanel.cs:line xx
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)
at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.ScrollContentPresenter.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)
at System.Windows.Controls.ScrollViewer.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)
at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Documents.AdornerDecorator.ArrangeOverride(Size finalSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Window.ArrangeOverride(Size arrangeBounds)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
at System.Windows.Window.SetRootVisual()
at System.Windows.Window.SetRootVisualAndUpdateSTC()
at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)
at System.Windows.Window.CreateSourceWindow(Boolean duringShow)
at System.Windows.Window.CreateSourceWindowDuringShow()
at System.Windows.Window.SafeCreateWindowDuringShow()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
2. Using this template, doesn't allow loading on an Window_LoadedEvent:
public
MainWindow()
{
InitializeComponent();
}
private
void
Window_Loaded(
object
sender, RoutedEventArgs e)
{
GenerateTiles();
}
Result:
When i remove the template from the radtileview, both problems disappear, but i cannot define the placement of items, i.e., Row, RowSpan, Column and ColumnSpan don't work anymore:
Example 1:
<telerik:RadTileView x:Name=
"MyRadTileView"
>
<telerik:RadTileViewItem Content=
"test"
local:TileViewAttachedProperties.Row=
"0"
local:TileViewAttachedProperties.Column=
"2"
/>
<telerik:RadTileViewItem Content=
"test2"
local:TileViewAttachedProperties.Row=
"0"
local:TileViewAttachedProperties.Column=
"0"
/>
<telerik:RadTileViewItem Content=
"test3"
local:TileViewAttachedProperties.Row=
"0"
local:TileViewAttachedProperties.Column=
"1"
/>
</telerik:RadTileView>
Result:
I can surpass this problem by using Position property of radtileviewitem, but there is a problem when an item's size is bigger, i.e., when i want an item to either span more than 1 row/column.
In resume, i need a way to either use the Multicolumns template with infinite rows, or a way to continue without the template but being able to define the position of each item, even when an item occupies more than 1 row/column.
Can anyone help me?
Regards