using Microsoft.UI.Xaml.Media; namespace XFEExtension.NetCore.WinUIHelper.Interface.Services; /// /// 列表视图服务接口 /// public interface IListViewService { /// /// 选中项改变事件 /// event SelectionChangedEventHandler SelectionChanged; /// /// 列表视图 /// ListView ListView { get; } /// /// 列表视图滚动条 /// ScrollViewer? ListViewScrollViewer { get; } /// /// 初始化列表视图服务 /// /// void Initialize(ListView listView); /// /// 选择所有项 /// void SelectAll() => ListView.SelectAll(); /// /// 反选 /// void RevertSelect(); /// /// 选择范围 /// void SelectBetween(); /// /// 获取列表视图滚动条 /// /// ScrollViewer? GetScrollViewer() { if (VisualTreeHelper.GetChildrenCount(ListView) > 0) return VisualTreeHelper.GetChild(ListView, 0) is Border border && border.Child is ScrollViewer scrollViewer ? scrollViewer : null; else return null; } }