private void GameTreeControl_PointerEntered(object sender, PointerRoutedEventArgs e) { ScrollingIndicatorMode indicatorMode = ScrollingIndicatorMode.None; switch (e.Pointer.PointerDeviceType) { case PointerDeviceType.Touch: indicatorMode = ScrollingIndicatorMode.TouchIndicator; break; case PointerDeviceType.Pen: case PointerDeviceType.Mouse: indicatorMode = ScrollingIndicatorMode.MouseIndicator; break; } horizontalBar.IndicatorMode = indicatorMode; verticalBar.IndicatorMode = indicatorMode; }
/// <summary> /// 切换滑块样式 /// </summary> /// <param name="mode"></param> private void ChangeStyle(UserInteractionMode mode) { if (!IsSupportTouchMode) return; // 如果不支持触摸直接返回 string resource = ""; if (mode == UserInteractionMode.Touch) { resource = "VerticalThumbStyle"; _indicatorMode = ScrollingIndicatorMode.TouchIndicator; OnPointerOver(false, false, true); } else { resource = "DefaultVerticalThumbStyle"; _indicatorMode = ScrollingIndicatorMode.MouseIndicator; } if (_verticalThumb == null) return; Style style = this.Resources[resource] as Style; if (_verticalThumb.Style != style) _verticalThumb.Style = style; }
public static void SetIndicatorMode(ScrollBar scrollBar, ScrollingIndicatorMode value) { scrollBar.SetValue(IndicatorModeProperty, value); }