RadRadialGauge in RadTileView's content template causes SyncFlush[ UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406) ]

3 posts, 0 answers
  1. Murali
    Murali avatar
    8 posts
    Member since:
    May 2013

    Posted 29 May 2013 Link to this post

    I am seeing SynFlush issue when I embed RadialGauge inside the RadTileView.ContentTemplate, which is RadFluidContentControl.LargeContent.  Pasted the XAML below.

    Question:
    Is this illegal use of RadialGague?  If not, is there a way to get around this issue somehow?

    The Failure:
    UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406)
       at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()

    System.Runtime.InteropServices.COMException occurred
      HResult=-2003303418
      Message=UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406)
      Source=PresentationCore
      ErrorCode=-2003303418
      StackTrace:
           at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
      InnerException:
    -----------------------------

    Scenario:
    <UserControl x:Class="TelerikTest.DeviceList"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
                 xmlns:tileview="clr-namespace:Telerik.Windows.Controls.TileView;assembly=Telerik.Windows.Controls.Navigation">
        <UserControl.Resources>
            <SolidColorBrush x:Key="AccentBrush" Color="White"/>
     
            <Style x:Key="TileItemHeaderStyle" TargetType="tileview:TileViewItemHeader">
                <Setter Property="Foreground" Value="#FFFFFF" />
                <Setter Property="FontSize" Value="14" />
                <Setter Property="FontFamily" Value="Segoe UI" />
            </Style>
            <Style TargetType="telerik:RadTileViewItem">
                <Setter Property="Padding" Value="3" />
                <Setter Property="BorderBrush" Value="Transparent" />
                <Setter Property="Background" Value="Transparent" />
                <Setter Property="BorderThickness" Value="0" />
                <Setter Property="HeaderStyle" Value="{StaticResource TileItemHeaderStyle}" />
            </Style>
            <Style TargetType="telerik:RadTileView" >
                <Setter Property="PreservePositionWhenMaximized" Value="True" />
                <Setter Property="telerik:TileViewPanel.IsVirtualized" Value="True" />
                <Setter Property="IsAutoScrollingEnabled" Value="True" />
                <Setter Property="TileStateChangeTrigger" Value="SingleClick" />
                <Setter Property="MinimizedColumnWidth" Value="308" />
                <Setter Property="MinimizedRowHeight" Value="193" />
                <Setter Property="RowHeight" Value="187" />
                <Setter Property="ColumnWidth" Value="277" />
                <Setter Property="ColumnsCount" Value="4" />
            </Style>
            <DataTemplate x:Key="contentTemplate">
                <telerik:RadFluidContentControl ContentChangeMode="Manual"
                                                State="Normal"
                                                TransitionDuration="0:0:.5">
                    <telerik:RadFluidContentControl.Content>
                        <Border Background="Black">
                            <Grid Margin="20 10">
                                <StackPanel>
                                    <TextBlock Margin="0 0 0 5"
                                               FontFamily="Segoe UI"
                                               FontSize="24"
                                               FontWeight="Light"
                                               Foreground="#fff"
                                               Text="Duration" />
                                    <TextBlock FontSize="14"
                                               Text="{Binding Duration}" />
                                    <Border Height="2"
                                            Margin="0 5"
                                            />
                                    <TextBlock Margin="0 0 0 5"
                                               FontFamily="Segoe UI"
                                               FontSize="24"
                                               FontWeight="Light"
                                               Foreground="#fff"
                                               Text="Price" />
                                    <TextBlock FontSize="14"
                                               Text="{Binding Price}" />
                                </StackPanel>
                                <!--<Image HorizontalAlignment="Right"
                                       VerticalAlignment="Bottom"
                                       Source="{Binding Icon}"
                                       Stretch="None" />-->
                            </Grid>
                        </Border>
                    </telerik:RadFluidContentControl.Content>
                    <telerik:RadFluidContentControl.LargeContent>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*" />
                            </Grid.ColumnDefinitions>
                            <telerik:RadRadialGauge x:Name="radialGauge" Height="100" Width="100">
                                <telerik:RadialScale Name="scale"
                                         LabelRotationMode="None"
                                         IsInteractive="True"   
                                         MajorTickOffset="-0.015*"
                                         MiddleTickOffset="-0.015*"
                                         MinorTickOffset="-0.015*">
                                    <telerik:RadialScale.Ranges>
                                        <telerik:GaugeRange x:Name="range1"
                                                Min="0" Max="20"
                                                StartWidth="0.015"
                                                EndWidth="0.015"
                                                Background="#FF1E8D00"  />
                                        <telerik:GaugeRange x:Name="range2"
                                                Min="20" Max="80"
                                                StartWidth="0.015"
                                                EndWidth="0.015"
                                                Background="#FF000000" />
                                        <telerik:GaugeRange x:Name="range3"
                                                Min="80" Max="100"
                                                StartWidth="0.015"
                                                EndWidth="0.015"
                                                Background="#FFE50000" />
                                    </telerik:RadialScale.Ranges>
                                    <telerik:RadialScale.Indicators>
                                        <telerik:BarIndicator x:Name="radialBar"
                                                  Value="80"
                                                  telerik:ScaleObject.Location="Inside"
                                                  telerik:ScaleObject.Offset="0.25*" />
                                        <telerik:RadialScaleMarker Name="marker"
                                            IsAnimated="True"
                                            Duration="0:0:1"
                                            telerik:ScaleObject.Offset="-0.015*"
                                            Value="25" />
                                        <telerik:Needle Value="50" />
                                        <telerik:Pinpoint />
                                    </telerik:RadialScale.Indicators>
                                </telerik:RadialScale>
                            </telerik:RadRadialGauge>
                        </Grid>
                    </telerik:RadFluidContentControl.LargeContent>
                </telerik:RadFluidContentControl>
            </DataTemplate>
            <DataTemplate x:Key="headerTemplate">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding Destination}" />
                    <TextBlock Text=" Trip" />
                </StackPanel>
            </DataTemplate>
        </UserControl.Resources>
         
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
     
            <telerik:RadTileView Grid.Column="0"
                                ContentTemplate="{StaticResource contentTemplate}"
                                IsItemDraggingEnabled="{Binding ElementName=IsItemDraggingEnabledOption,
                                                                Path=IsChecked}"
                                ItemsSource="{Binding Items}"
                                ItemTemplate="{StaticResource headerTemplate}"
                                MaximizeMode="{Binding ElementName=MaximizeModeOption,
                                                    Path=SelectedItem}"
                                PreservePositionWhenMaximized="{Binding ElementName=PreservePositionWhenMaximizedOption,
                                                                        Path=IsChecked}"
                                TileStateChanged="tileView1_TileStateChanged"
                                TileStateChangeTrigger="{Binding ElementName=StateChangeOption,
                                                                Path=SelectedItem}" />
        </Grid>
    </UserControl>
     

     

  2. Murali
    Murali avatar
    8 posts
    Member since:
    May 2013

    Posted 30 May 2013 Link to this post

    Posting back with an update to share the solution:
    I found, the non-zero value set on "TransitionDuration" of the content control of TileView is causing this.  Right now, I have everything working just as expected but, not too sure I am just lucked out by avoiding that .5 sec of transition or it is really fixed, I do not have enough time at hand to verify but, if you run in to this issue - something worth verifying.
  3. UI for WPF is Visual Studio 2017 Ready
  4. Andrey
    Admin
    Andrey avatar
    1681 posts

    Posted 31 May 2013 Link to this post

    Hello Murali,

    Thank you for the feedback.

    I was able to reproduce the problem using the code you sent. The problem occurs when the gauge control contains a scale which is interactive. In this case when it is used inside the RadFluidContentControl.LargeContent then it causes the issue. I have created a PITS item for this bug. You can track it using the following link:
    http://www.telerik.com/support/pits.aspx#/public/wpf/15091

    Regards,
    Andrey Murzov
    Telerik

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

Back to Top