从滚动条按钮获取事件

本文关键字:事件 获取 按钮 滚动条 | 更新日期: 2023-09-27 18:01:19

如何在silverlight中访问滚动条末端的箭头按钮?它们是可以通过滚动条类访问的按钮控件还是别的什么?

我需要知道这一点的原因是,当有人点击箭头按钮时,我可以运行一些自定义功能到滚动条

从滚动条按钮获取事件

如果你想知道滚动条的哪个按钮被点击了你可以通过ScrollBarValueChanged属性来访问

例如,我有一个简单的滚动条与textblock和在每次点击,textblock显示哪个按钮被点击。

<Grid x:Name="LayoutRoot" Background="White">
    <ScrollBar Height="200" Orientation="Vertical" Width="20" ValueChanged="ScrollBar_ValueChanged" />
    <TextBlock Height="23" HorizontalAlignment="Left" Margin="150,21,0,0" Name="textBlock1" Text="" Width="100" VerticalAlignment="Top" />
</Grid>

后面的代码是

  private void ScrollBar_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            if (e.NewValue > e.OldValue)
                textBlock1.Text = "Down Arrow Clicked";
            else
                textBlock1.Text = "Up Arrow Clicked";
        }

这样解决了这个问题:

foreach( var o in horizontalBar.GetVisualDescendants( ) )
            {
               if(o is RepeatButton)
               {
                     //set call back based on the name of the repeatbutton
                }
}