翻转滚动条WPF

时间:2010-11-09 22:19:39

标签: c# wpf scrollbar

您好 我正在构建一个控件,显示从0到最大的标尺。 0值在底部,最大值是y,然后是0(在我们滚动到它之前,最大值是不可见的)。 问题是0虽然下降,但最大值上升。滚动条的0值为up,最大值为down。 我希望翻转滚动条。 我怎么能这样做?

3 个答案:

答案 0 :(得分:7)

Dudes,简单地说:

            <ScrollBar.RenderTransform>
                <RotateTransform Angle="180"/>
            </ScrollBar.RenderTransform>

此致

答案 1 :(得分:1)

如何使用值转换器来否定最小值,最大值和值属性。这样滚动条就像你翻转它一样。

代码:

class NegativeValueConverter : IValueConverter
{
  object Convert(object value, ...)
  {
    return -System.Convert.ToDouble(value);
  }

  object ConvertBack(object value, ...)
  {
    return -System.Convert.ToDouble(value);
  }
}

XAML:

<Resources>
  <local:NegativeValueConverter x:Key="negative" />
</Resources>
<ScrollBar Value="{Binding RulerValue, Converter={StaticResource negative}"
           Minimum="{Binding RulerMinimum, Converter={StaticResource negative}"
           Maximum="{Binding RulerMaximum, Converter={StaticResource negative}"/>

答案 2 :(得分:0)

我在这里得到了一些答案的启发,并决定加入我的进一步参考。

对于滚动条,它是旋转180度还是颠倒翻转并不重要,但对于其他控件(或某些样式),它可能很重要。

这是我的代码:

<ScrollBar Orientation="Vertical" RenderTransformOrigin="0.5,0.5">
    <ScrollBar.RenderTransform>
        <ScaleTransform ScaleY="-1"/>
    </ScrollBar.RenderTransform>
</ScrollBar>