hello dear telerik team
ive been working with your library for a couple of days the main reason my attention was drawn twards this product was its beautifull tileview but yesterday when i was testing it i ran into an error i couldnt find out the reason of.
well the situation is i have a tile view with a certain number of tiles explicitly named and defined in xaml.all tiles have rad fluid control in them for different states. and i have a number of buttons outside this tile view (two button for each tile). one of these buttons hides the tile if it is shown and the other either shows and mazimizes the tile if its hidden or maximizes it if it is shown but minimized .
well everything is nearly so simple but after i play around with a little showing-hiding-maximising tiles suddenly it jumps out with this error:
Message: Index was outside the bounds of the array.
Source: Telerik.Windows.Controls.Navigation
Stacktrace: at Telerik.Windows.Controls.TileViewPanel.UpdatePositionRectangle(Int32 position, Rect itemPlacement) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 1251
at Telerik.Windows.Controls.TileViewPanel.MeasureARow(Int32 startCol, Int32 row, Boolean isVirtualized, Double& minTop, Double& minHeight) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 1144
at Telerik.Windows.Controls.TileViewPanel.MeasureRestoredChildren(Boolean isVirtualized, Int32 startRow) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 1039
at Telerik.Windows.Controls.TileViewPanel.MeasureItems() in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 962
at Telerik.Windows.Controls.TileViewPanel.MeasureOverride(Size availableSize) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 397
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at TileHiddenProblem.App.Main() in C:\Users\Moosavi\Desktop\TileHiddenProblem\TileHiddenProblem\obj\x86\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
thank you very much in advance for solving my problem
the codes:
mainwindow.xaml:
MainWindow.xaml.cs :
radtilecontrol.xaml :
radtilecontrol.xaml.cs :
ive been working with your library for a couple of days the main reason my attention was drawn twards this product was its beautifull tileview but yesterday when i was testing it i ran into an error i couldnt find out the reason of.
well the situation is i have a tile view with a certain number of tiles explicitly named and defined in xaml.all tiles have rad fluid control in them for different states. and i have a number of buttons outside this tile view (two button for each tile). one of these buttons hides the tile if it is shown and the other either shows and mazimizes the tile if its hidden or maximizes it if it is shown but minimized .
well everything is nearly so simple but after i play around with a little showing-hiding-maximising tiles suddenly it jumps out with this error:
Message: Index was outside the bounds of the array.
Source: Telerik.Windows.Controls.Navigation
Stacktrace: at Telerik.Windows.Controls.TileViewPanel.UpdatePositionRectangle(Int32 position, Rect itemPlacement) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 1251
at Telerik.Windows.Controls.TileViewPanel.MeasureARow(Int32 startCol, Int32 row, Boolean isVirtualized, Double& minTop, Double& minHeight) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 1144
at Telerik.Windows.Controls.TileViewPanel.MeasureRestoredChildren(Boolean isVirtualized, Int32 startRow) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 1039
at Telerik.Windows.Controls.TileViewPanel.MeasureItems() in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 962
at Telerik.Windows.Controls.TileViewPanel.MeasureOverride(Size availableSize) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Controls\Navigation\TileView\TileViewPanel.cs:line 397
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at TileHiddenProblem.App.Main() in C:\Users\Moosavi\Desktop\TileHiddenProblem\TileHiddenProblem\obj\x86\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
thank you very much in advance for solving my problem
the codes:
mainwindow.xaml:
<
Window
x:Class
=
"TileHiddenProblem.MainWindow"
xmlns:common
=
"clr-namespace:TileHiddenProblem"
Title
=
"MainWindow"
Height
=
"350"
Width
=
"525"
>
<
Grid
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"50"
/>
<
ColumnDefinition
Width
=
"50"
/>
<
ColumnDefinition
Width
=
"*"
/>
</
Grid.ColumnDefinitions
>
<
Grid
Grid.Column
=
"0"
>
<
StackPanel
>
<
Button
Width
=
"50"
Content
=
"CallTile"
Click
=
"Button_Click_1"
/>
<
Button
Width
=
"50"
Content
=
"MessageTile"
Click
=
"Button_Click_1"
/>
<
Button
Width
=
"50"
Content
=
"CommandTile"
Click
=
"Button_Click_1"
/>
<
Button
Content
=
"ITServicesTile"
Click
=
"Button_Click_1"
/>
<
Button
Content
=
"SubscribersTile"
Click
=
"Button_Click_1"
/>
<
Button
Content
=
"GroupTile"
Click
=
"Button_Click_1"
/>
<
Button
Content
=
"ChangeTrackerTile"
Click
=
"Button_Click_1"
/>
<
Button
Content
=
"RecentCallsTile"
Click
=
"Button_Click_1"
/>
</
StackPanel
>
</
Grid
>
<
Grid
Grid.Column
=
"1"
>
<
StackPanel
>
<
Button
Width
=
"50"
Content
=
"CallTile"
Click
=
"Button_Click_2"
/>
<
Button
Width
=
"50"
Content
=
"MessageTile"
Click
=
"Button_Click_2"
/>
<
Button
Width
=
"50"
Content
=
"CommandTile"
Click
=
"Button_Click_2"
/>
<
Button
Content
=
"ITServicesTile"
Click
=
"Button_Click_2"
/>
<
Button
Content
=
"SubscribersTile"
Click
=
"Button_Click_2"
/>
<
Button
Content
=
"GroupTile"
Click
=
"Button_Click_2"
/>
<
Button
Content
=
"ChangeTrackerTile"
Click
=
"Button_Click_2"
/>
<
Button
Content
=
"RecentCallsTile"
Click
=
"Button_Click_2"
/>
</
StackPanel
>
</
Grid
>
<
common:radTileControl
x:Name
=
"tc01"
Grid.Column
=
"2"
/>
</
Grid
>
</
Window
>
MainWindow.xaml.cs :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Data;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Imaging;
using
System.Windows.Navigation;
using
System.Windows.Shapes;
using
Telerik.Windows.Controls;
namespace
TileHiddenProblem
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public
partial
class
MainWindow : Window
{
public
MainWindow()
{
InitializeComponent();
}
private
void
Button_Click_1(
object
sender, RoutedEventArgs e)
{
Button bt = e.OriginalSource
as
Button;
tc01.ChangeTileState(bt.Content.ToString());
}
private
void
Button_Click_2(
object
sender, RoutedEventArgs e)
{
Button bt = e.OriginalSource
as
Button;
tc01.ChangeTileStateHidden(bt.Content.ToString());
}
}
}
radtilecontrol.xaml :
<
UserControl
x:Class
=
"TileHiddenProblem.radTileControl"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:telerikNavigation
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation"
xmlns:Telerik_Windows_Controls_TileView
=
"clr-namespace:Telerik.Windows.Controls.TileView;assembly=Telerik.Windows.Controls.Navigation,Version=2011.2.0920.40,Culture=neutral,PublicKeyToken=5803cfa389c90ce7"
mc:Ignorable
=
"d"
d:DesignHeight
=
"300"
d:DesignWidth
=
"300"
>
<
telerikNavigation:RadTileView
TileStateChangeTrigger
=
"SingleClick"
MinimizedItemsPosition
=
"Bottom"
VerticalAlignment
=
"Stretch"
HorizontalAlignment
=
"Stretch"
Name
=
"tvc_MainTiles"
TileStateChanged
=
"tvc_MainTiles_TilesStateChanged"
Loaded
=
"tvc_MainTiles_Loaded"
MinimizedRowHeight
=
"45"
MinimizedColumnWidth
=
"200"
IsItemDraggingEnabled
=
"True"
Padding
=
"0"
HorizontalContentAlignment
=
"Center"
VerticalContentAlignment
=
"Center"
DragMode
=
"Swap"
IsAnimationOptimized
=
"True"
IsTextSearchEnabled
=
"False"
PreservePositionWhenMaximized
=
"False"
FontFamily
=
"B Titr"
FontSize
=
"14"
>
<
telerikNavigation:RadTileView.Resources
>
<
Style
x:Key
=
"DragableTileStyle"
TargetType
=
"{x:Type telerikNavigation:RadTileViewItem}"
>
<
Setter
Property
=
"HorizontalContentAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"VerticalContentAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"Background"
Value
=
"#CC000000"
/>
<
Setter
Property
=
"BorderBrush"
Value
=
"{StaticResource RadTileView_Border}"
/>
<
Setter
Property
=
"BorderThickness"
Value
=
"1"
/>
<!--<Setter Property="FlowDirection" Value="RightToLeft"/>-->
<
Setter
Property
=
"Padding"
Value
=
"7"
/>
<
Setter
Property
=
"Template"
>
<
Setter.Value
>
<
ControlTemplate
TargetType
=
"telerikNavigation:RadTileViewItem"
>
<
Grid
x:Name
=
"Maingrid"
>
<
Border
Margin
=
"{TemplateBinding Padding}"
Background
=
"{TemplateBinding Background}"
BorderBrush
=
"{TemplateBinding BorderBrush}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
CornerRadius
=
"5"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"*"
/>
</
Grid.RowDefinitions
>
<
ContentPresenter
Cursor
=
"Arrow"
HorizontalAlignment
=
"{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment
=
"{TemplateBinding VerticalContentAlignment}"
Grid.Row
=
"1"
Content
=
"{TemplateBinding Content}"
ContentTemplate
=
"{TemplateBinding ContentTemplate}"
/>
<!--<Border Cursor="Hand" Background="{StaticResource RadTileView_HeaderBackground}" BorderBrush="{StaticResource RadTileView_HeaderBorder}" BorderThickness="0 0 0 1" CornerRadius="4 4 0 0" Padding="10 0 7 0">-->
<
Border
Cursor
=
"Hand"
Background
=
"{StaticResource TileView_HeaderBackground}"
BorderBrush
=
"{StaticResource RadTileView_HeaderBorder}"
BorderThickness
=
"0 0 0 1"
>
<
Grid
MinHeight
=
"28"
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"*"
/>
<!--<
ColumnDefinition
Width
=
"15"
/>
<
ColumnDefinition
Width
=
"20"
/>
<
ColumnDefinition
Width
=
"20"
/>-->
</
Grid.ColumnDefinitions
>
<
Border
Grid.Column
=
"0"
x:Name
=
"GripBarElement"
>
<!--<ContentPresenter Height="15" HorizontalAlignment="Stretch" Margin="10,0,10,0" VerticalAlignment="Stretch" Content="{TemplateBinding Header}" ContentTemplate="{TemplateBinding HeaderTemplate}"/>-->
<
Telerik_Windows_Controls_TileView:TileViewItemHeader
x:Name
=
"HeaderPart"
HeaderTemplate
=
"{TemplateBinding HeaderTemplate}"
Style
=
"{Binding RelativeSource={RelativeSource TemplatedParent}, Path=HeaderStyle, Mode=TwoWay}"
>
<
ContentPresenter
Height
=
"15"
HorizontalAlignment
=
"Stretch"
Margin
=
"10,0,10,0"
VerticalAlignment
=
"Stretch"
Content
=
"{TemplateBinding Header}"
ContentTemplate
=
"{TemplateBinding HeaderTemplate}"
/>
</
Telerik_Windows_Controls_TileView:TileViewItemHeader
>
</
Border
>
</
Grid
>
</
Border
>
<
Rectangle
x:Name
=
"DisabledVisual"
Fill
=
"{StaticResource DisabledBrush}"
RadiusX
=
"4"
RadiusY
=
"4"
Visibility
=
"Collapsed"
Grid.RowSpan
=
"2"
/>
</
Grid
>
</
Border
>
<!-- Selectrion state -->
<
Grid
x:Name
=
"SelectedItem"
Visibility
=
"Collapsed"
Margin
=
"-1"
>
<
Border
CornerRadius
=
"{StaticResource TileView_OuterBorder_CornerRadius}"
Margin
=
"{TemplateBinding Padding}"
BorderBrush
=
"{StaticResource ControlOuterBorder_Selected}"
BorderThickness
=
"2"
/>
</
Grid
>
<!-- MouseOver dragging state -->
<
Border
x:Name
=
"MouseOverBorder"
Visibility
=
"Collapsed"
Opacity
=
"0.5"
BorderThickness
=
"{StaticResource TileView_MaximizeArea_BorderThickness}"
BorderBrush
=
"{StaticResource TileView_MaximizeArea_BorderBrush}"
Background
=
"{StaticResource TileView_MaximizeArea_Background}"
/>
</
Grid
>
<
ControlTemplate.Triggers
>
<
Trigger
Property
=
"IsSelected"
Value
=
"True"
>
<
Setter
TargetName
=
"SelectedItem"
Property
=
"Visibility"
Value
=
"Visible"
/>
<
Setter
Property
=
"Visibility"
Value
=
"Collapsed"
TargetName
=
"Maingrid"
/>
</
Trigger
>
<
Trigger
Property
=
"IsMouseOverDragging"
Value
=
"True"
>
<
Setter
TargetName
=
"MouseOverBorder"
Property
=
"Visibility"
Value
=
"Visible"
></
Setter
>
</
Trigger
>
</
ControlTemplate.Triggers
>
</
ControlTemplate
>
</
Setter.Value
>
</
Setter
>
</
Style
>
<
DataTemplate
x:Key
=
"TileTemplate"
>
<
Ellipse
Height
=
"40"
Width
=
"40"
/>
</
DataTemplate
>
<
Style
TargetType
=
"telerik:RadTileViewItem"
>
<
Setter
Property
=
"Background"
Value
=
"#CC000000"
/>
</
Style
>
<
Style
x:Key
=
"FluidContentControlStyle"
TargetType
=
"telerik:RadFluidContentControl"
>
<
Setter
Property
=
"ContentChangeMode"
Value
=
"Manual"
/>
</
Style
>
</
telerikNavigation:RadTileView.Resources
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"CallTile"
Header
=
"calltile"
ForceCursor
=
"True"
Background
=
"#CC000000"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"MessageTile"
Header
=
"message tile"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"CommandTile"
Header
=
"commandtile"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"ITServicesTile"
Header
=
"itservices"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"SubscribersTile"
Header
=
"subscribertile"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"GroupTile"
Header
=
"grouptile"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"ChangeTrackerTile"
Header
=
"changetrackertile"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
></
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
<
telerikNavigation:RadTileViewItem
x:Name
=
"RecentCallsTile"
Header
=
"recentcalltile"
>
<
telerik:RadFluidContentControl
Style
=
"{StaticResource ResourceKey=FluidContentControlStyle}"
>
<
telerik:RadFluidContentControl.SmallContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.SmallContent
>
<
telerik:RadFluidContentControl.Content
>
<
Grid
></
Grid
>
</
telerik:RadFluidContentControl.Content
>
<
telerik:RadFluidContentControl.LargeContent
>
<
Grid
>
</
Grid
>
</
telerik:RadFluidContentControl.LargeContent
>
</
telerik:RadFluidContentControl
>
</
telerikNavigation:RadTileViewItem
>
</
telerikNavigation:RadTileView
>
</
UserControl
>
radtilecontrol.xaml.cs :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Data;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Imaging;
using
System.Windows.Navigation;
using
System.Windows.Shapes;
using
Telerik.Windows.Controls;
namespace
TileHiddenProblem
{
/// <summary>
/// Interaction logic for radTileControl.xaml
/// </summary>
public
partial
class
radTileControl : UserControl
{
public
radTileControl()
{
InitializeComponent();
}
public
void
ChangeTileState(
string
Name)
{
RadTileViewItem tileItem =
new
RadTileViewItem();
switch
(Name)
{
case
"CallTile"
:
tileItem = tvc_MainTiles.Items[0]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"MessageTile"
:
tileItem = tvc_MainTiles.Items[1]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"CommandTile"
:
tileItem = tvc_MainTiles.Items[2]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"ITServicesTile"
:
tileItem = tvc_MainTiles.Items[3]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"SubscribersTile"
:
tileItem = tvc_MainTiles.Items[4]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"GroupTile"
:
tileItem = tvc_MainTiles.Items[5]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"ChangeTrackerTile"
:
tileItem = tvc_MainTiles.Items[6]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
case
"RecentCallsTile"
:
tileItem = tvc_MainTiles.Items[7]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Visible;
tileItem.TileState = TileViewItemState.Maximized;
break
;
}
}
public
void
ChangeTileStateHidden(
string
Name)
{
RadTileViewItem tileItem =
new
RadTileViewItem();
switch
(Name)
{
case
"CallTile"
:
tileItem = tvc_MainTiles.Items[0]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"MessageTile"
:
tileItem = tvc_MainTiles.Items[1]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"CommandTile"
:
tileItem = tvc_MainTiles.Items[2]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"ITServicesTile"
:
tileItem = tvc_MainTiles.Items[3]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"SubscribersTile"
:
tileItem = tvc_MainTiles.Items[4]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"GroupTile"
:
tileItem = tvc_MainTiles.Items[5]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"ChangeTrackerTile"
:
tileItem = tvc_MainTiles.Items[6]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
case
"RecentCallsTile"
:
tileItem = tvc_MainTiles.Items[7]
as
RadTileViewItem;
tileItem.Visibility = Visibility.Hidden;
break
;
}
}
private
void
tvc_MainTiles_TilesStateChanged(
object
sender, Telerik.Windows.RadRoutedEventArgs e)
{
foreach
(RadTileViewItem radTileViewItem
in
tvc_MainTiles.Items)
{
if
(radTileViewItem.Name == Name)
if
(radTileViewItem.Visibility == Visibility.Hidden)
{
radTileViewItem.Visibility = Visibility.Visible;
radTileViewItem.TileState = TileViewItemState.Maximized;
return
;
}
else
{
radTileViewItem.TileState = TileViewItemState.Restored;
radTileViewItem.Visibility = Visibility.Hidden;
return
;
}
}
}
private
void
tvc_MainTiles_Loaded(
object
sender, RoutedEventArgs e)
{
foreach
(RadTileViewItem radTileViewItem
in
tvc_MainTiles.Items)
{
RadFluidContentControl fluidControl = radTileViewItem.ChildrenOfType<RadFluidContentControl>().First();
if
(fluidControl !=
null
)
{
switch
(radTileViewItem.TileState)
{
case
TileViewItemState.Maximized:
fluidControl.State = FluidContentControlState.Large;
break
;
case
TileViewItemState.Minimized:
fluidControl.State = FluidContentControlState.Small;
break
;
case
TileViewItemState.Restored:
fluidControl.State = FluidContentControlState.Normal;
break
;
}
}
}
}
}
}