翻转滚动条WPF

use*_*490 3 c# wpf scrollbar

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

Nen*_*oDM 7

老兄,想想简单:

            <ScrollBar.RenderTransform>
                <RotateTransform Angle="180"/>
            </ScrollBar.RenderTransform>
Run Code Online (Sandbox Code Playgroud)

问候

  • 为了使它保持在相同的位置,添加:`<ScrollBar.RenderTransformOrigin> <Point X ="0.5"Y ="0.5"/> </ScrollBar.RenderTransformOrigin>` (2认同)

Jes*_*det 1

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

代码:

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

  object ConvertBack(object value, ...)
  {
    return -System.Convert.ToDouble(value);
  }
}
Run Code Online (Sandbox Code Playgroud)

xml:

<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}"/>
Run Code Online (Sandbox Code Playgroud)