TileView Index was outside the bounds of the array

4 posts, 0 answers
  1. Sayyed Hossein
    Sayyed Hossein avatar
    20 posts
    Member since:
    Oct 2012

    Posted 04 Oct 2012 Link to this post

    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:

    <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:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 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;
                        }
                    }
                }
      
            }
        }
    }


  2. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 09 Oct 2012 Link to this post

    Hi Sayyed,

    I attached the sample project I created based on the code snippets you sent. Unfortunately I wasn't able to reproduce the issue with this solution and as I might be missing something, I wanted to ask you to please test it on your side as well. If you can reproduce the exception in the attached project, we'll appreciate it if you can send us the list of steps that lead to it. Also, if the project should be modified in any way to reproduce the issue, please let us know.

    Regards,
    Tina Stancheva
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  3. UI for WPF is Visual Studio 2017 Ready
  4. Sayyed Hossein
    Sayyed Hossein avatar
    20 posts
    Member since:
    Oct 2012

    Posted 13 Oct 2012 Link to this post

    hi
    thx for the reply
    i checked your project and i didnt have the error!! i compared it with my own and saw no difference . then i replaced my dlls and...
    there we go the errors came!
    the problems were from q22012 dlls and they seem to have been resolved in the latest dlls
    but now that we are talking :P
    after replacing your dlls i have a new error somewhere else that i didnt have with the previous versions:
    i have an animation like this in my project:

        <Style x:Key="GridViewHeaderCellTemplate" TargetType="telerik:GridViewHeaderCell">
        <Setter Property="Height" Value="45"/>
    <Setter Property="FontFamily" Value="b Titr"/>
    <Setter Property="FontSize" Value="15"/>
    <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="telerik:GridViewHeaderCell">
                    <Grid x:Name="PART_HeaderCellGrid">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <VisualStateManager.VisualStateGroups>
                                <VisualState x:Name="Ascending">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource GridView_HeaderForeground_Selected}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_SortIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="GridViewHeaderCell_Selected">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Descending">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource GridView_HeaderForeground_Selected}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_SortIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="RenderTransform" Storyboard.TargetName="PART_SortIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <ScaleTransform ScaleY="1" ScaleX="1"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="GridViewHeaderCell_Selected">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    in the project when this annimation is going to take effect i get this error:

    exception: [System.Windows.Media.Animation.AnimationException] {"Cannot animate the 'Opacity' property on a 'System.Windows.Shapes.Path' using a 'System.Windows.Media.Animation.ObjectAnimationUsingKeyFrames'. For details see the inner exception."} System.Windows.Media.Animation.AnimationException

    inner exception: InnerException {"The animation(s) applied to the 'Opacity' property calculate a current value of '1', which is not a valid value for the property."} System.Exception {System.InvalidOperationException}

    thank you in advance for your help and sorry that this is going somehow off topic buty i got the error right after replacing the dlls :)
  5. Zarko
    Admin
    Zarko avatar
    755 posts

    Posted 17 Oct 2012 Link to this post

    Hi Sayyed,
    The problem is that in WPF when you use ObjectAnimationUsingKeyFrames you have to specify the type of the value (the staticResources specify the type and that's why there's no exception there) like this:
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Opacity">
        <DiscreteObjectKeyFrame KeyTime="0:0:0">
            <DiscreteObjectKeyFrame.Value>
                <sys:Double>0.3</sys:Double>
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>
    Another way to do this is to use double animation:
    <DoubleAnimation Storyboard.TargetName="somePart"
        Storyboard.TargetProperty="Opacity" To="0.3" Duration="0:0:0"></DoubleAnimation>
    or
    <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder"
                Storyboard.TargetProperty="Opacity" Duration="0:0:0">
        <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0.7" />
    </DoubleAnimationUsingKeyFrames>
    If you have further questions please feel free to ask.

    Regards,
    Zarko
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

Back to Top