RadTickBar resize behavior

6 posts, 0 answers
  1. Nikos
    Nikos avatar
    8 posts
    Member since:
    Dec 2011

    Posted 29 Feb 2012 Link to this post

    Version: Q1 2012 .NET4

    Having updated from the Q3 2010, we noticed a problem in the resize behavior of the RadTickBar, when the RadSlider is provided with a TickDataTemplate which renders textual information for each tick. While resizing the slider to a smaller size, there seems to be a point of the process after which the RadTickBar cannot keep up. From that point on, the outer ticks of the slider start to get clipped out, even though the distance between the ticks appears to be enough to fit them all. On top of that, the position of each tick at that point 
    miss-matches the corresponding position of the thumb of the slider (thus proving that the slider it self has resized successfully, while the tick-bar has not).

    We have tried to set a MinWidth for the RadTickBar through the TickBarStyle property, however that causes an InvalidOperationException. Perhaps that is something you could check as well.

    The following is the sample code which reproduces this behavior. To do so, just execute it and try to gradually resize the window to a smaller size. Plus, as far as the second issue (regarding the RadTickBar MinWidth) is concerned, try uncommenting the corresponding XAML code, and executing the project.

    Yours faithfully,
    Nikos Nakas
    Entersoft SA Development Department

    Window XAML markup:

    <Window x:Class="MainWindow"
            xmlns:local="clr-namespace:WpfRadSliderTest"
            Title="MainWindow" Height="350" Width="525">
      <Window.Resources>
        <local:IntegerToMonthConverter x:Key="intToMonthConv" />
      </Window.Resources>
      <Grid>
        <telerik:RadSlider Margin="25" VerticalAlignment="Center"
                           telerik:StyleManager.Theme="Windows7"
                           Minimum="0" Maximum="5" TickFrequency="1"
                           IsMouseWheelEnabled="True" IsSnapToTickEnabled="True" IsMoveToPointEnabled="True"
                           TickPlacement="BottomRight">
          <telerik:RadSlider.TickTemplate>
            <DataTemplate>
              <Grid Background="Purple"
                    MinHeight="{Binding Path=ActualHeight, Mode=OneWay, RelativeSource={RelativeSource AncestorType=telerik:RadTickBar}}">
                <StackPanel>
                  <Ellipse Width="5" Height="5" Fill="Black" />
                  <Label Content="{Binding Mode=OneWay, Converter={StaticResource intToMonthConv}}" Foreground="Yellow" />
                </StackPanel>
              </Grid>
            </DataTemplate>
          </telerik:RadSlider.TickTemplate>
          <!--<telerik:RadSlider.TickBarStyle>
            <Style TargetType="telerik:RadTickBar">
              <Setter Property="MinWidth" Value="50" />
            </Style>
          </telerik:RadSlider.TickBarStyle>-->
        </telerik:RadSlider>
      </Grid>
    </Window>

    Value Converter:

    Public Class IntegerToMonthConverter
      Implements IValueConverter
     
      Private Shared ReadOnly Months As String() = {"January", "February", "March", "April", "May", "June"}
     
      Public Function Convert(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
        Dim index = CInt(value)
        If index < 0 OrElse index >= Months.Length Then Return String.Empty
        Return Months(index)
      End Function
     
      Public Function ConvertBack(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
        Throw New NotSupportedException
      End Function
     
    End Class
  2. Kiril Stanoev
    Admin
    Kiril Stanoev avatar
    1511 posts

    Posted 29 Feb 2012 Link to this post

    Hello Nikos,

    Thank you for contacting us. I can confirm that the latest version of RadSlider does have the issue you describe. Unfortunately we are not aware of an existing workaround. I've logged this issue in our PITS under the name "Slider: Clips ticks while resizing" and it will be available for tracking and voting tomorrow the latest. We will do our best to fix this issue for the upcoming Service Pack, which is scheduled for the second half of March. Let me know how this timeframe works for you. I've also updated your Telerik points accordingly.

    Greetings,
    Kiril Stanoev
    the Telerik team
    Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
  3. UI for WPF is Visual Studio 2017 Ready
  4. Nikos
    Nikos avatar
    8 posts
    Member since:
    Dec 2011

    Posted 14 Jun 2012 Link to this post

    Greetings,

    I would like to inform you that this issue still exists in Q2 2012 version. Is there any estimation/timeline about its resolvement?

    Yours faithfully,
    Nikos Nakas
    Entersoft SA Development Department 
  5. Stefan
    Admin
    Stefan avatar
    89 posts

    Posted 14 Jun 2012 Link to this post

    Hi Nikos,

    Unfortunately the issue is still reproducible because at the moment the design and the implementation of the RadSlider control don't support this functionality.

    There is a possible workaround of the problem - you can set a MinWidth of the RadSlider and optionally put it in a ScrollViewer. Then even if the window is resized the labels wouldn't be misplaced.

    Also we will highly appreciate it if you can tell us what you expect to happen with the labels in your scenario when the window is shrunk. This will allow us to use your feedback when discussing future improvements of the control.

    Greetings,
    Stefan
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

  6. Nikos
    Nikos avatar
    8 posts
    Member since:
    Dec 2011

    Posted 15 Jun 2012 Link to this post

    Hello Stefan,

    What we would expect as standard behavior would be the one we already experience in version Q3 2010; i.e. the RadTickBar is able to keep resizing without misplacing the ticks, instead the ticks start to overlap one another as soon as the margin among them is depleted.

    However I should stress out that it is not the current behavior itself that troubles us, but more likely the point out of which it starts to produce itself; i.e. the margin the ticks require among them so that the RadTickBar will not misplace them (and clip the outer ones as well) is just too big. In this sense, in order to correctly display a RadSlider, it is imperative to use much more space that it used to. For some of our scenaria such an option is feasible, for others however it is not. Thus, it is impossible for us to globally adopt to the slider's new behavior, and that is critical, since the slider is an essential & irreplaceable component of our system.

    We have been trying to upgrade to a newer version of Rad Controls ever since Q1 2011, however due to various issues which occurred every time (and most of which unfortunately, couldn't be reproduced outside the scope of our application), we never managed to do so successfully. This time, the only thing holding us back seems to be the RadSlider behavior. Thus, it would be most fortunate for us if you could tend to this issue.

    Yours sincerely,
    Nikos Nakas
    Entersoft SA Development Department  
  7. Stefan
    Admin
    Stefan avatar
    89 posts

    Posted 20 Jun 2012 Link to this post

    Hello Nikos,

    Thank you for your feedback. I can see your point and we will put the RadTickBar's behavior under consideration. We will keep you updated on this.

    Greetings,
    Stefan
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

Back to Top
UI for WPF is Visual Studio 2017 Ready