如何訪問silverlight中滾動條末端的箭頭按鈕?他們是否可以通過滾動欄類別或其他方式訪問按鈕控件?從滾動條按鈕獲取事件?
我需要知道這種情況的原因是,當有人點擊其中一個箭頭按鈕,我可以運行一些自定義功能的滾動條
如何訪問silverlight中滾動條末端的箭頭按鈕?他們是否可以通過滾動欄類別或其他方式訪問按鈕控件?從滾動條按鈕獲取事件?
我需要知道這種情況的原因是,當有人點擊其中一個箭頭按鈕,我可以運行一些自定義功能的滾動條
解決了這個問題,像這樣:
foreach(var o in horizontalBar.GetVisualDescendants())
{
if(o is RepeatButton)
{
//set call back based on the name of the repeatbutton
}
}
如果你需要知道什麼按鈕,滾動條被點擊就可以可以訪問通過的ScrollBar
比如我有一個textblock
和每次點擊一個簡單的滾動條ValueChanged
財產,被點擊的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";
}
如果有人拖動棒替代上的按鈕點擊? – tweetypi
對不起,延遲應對。當用戶拖動滾動條時,它工作得很好。 – Jack7