Open duanbaodi opened 3 years ago
我尝试修改了一下, 这样可以达到效果. 没有添加动画. 仅供参考. ` menuItem.Click += delegate { _buttonOverflow.IsChecked = false;
var list = GetActualList(); if (list == null) return; var actualItem = ItemContainerGenerator.ItemFromContainer(item); if (actualItem == null) return; // 获取tabitem 对象在scrollviewer中的位置 var targetX = item.TransformToVisual(_scrollViewerOverflow) .Transform(new Point(_scrollViewerOverflow.HorizontalOffset, 0)).X; // 判断tabitem是否已经显示 如果超出scrollviewer当前显示范围的左右两端 if (targetX < _scrollViewerOverflow.HorizontalOffset || targetX > _scrollViewerOverflow.HorizontalOffset + ActualWidth - TabItemWidth) { // 直接跳转到目标位置 _scrollViewerOverflow.ScrollToHorizontalOffset(targetX); } item.IsSelected = true; };`
按照这个设计,当顶部标签页处于无法滚动的模式时,点击溢出按钮(该按钮对应的标签不在可见范围内)该如何显示为好呢?
我尝试修改了一下, 这样可以达到效果. 没有添加动画. 仅供参考. `
menuItem.Click += delegate { _buttonOverflow.IsChecked = false;