跳到主要内容

github/tai

公开

Tai · Windows 软件与网站使用时长统计。上游 Planshit/Tai 的源码镜像,非灵栈原创;MIT 许可。来源:https://github.com/Planshit/Tai 。本次为手动同步,暂不提供安装包。

提交记录
修改UI/Controls/Charts/Charts.cs+56 −7看文件
@@ -123,6 +123,24 @@ namespace UI.Controls.Charts
123123 new PropertyMetadata(false, new PropertyChangedCallback(OnPropertyChanged)));
124124
125125
126新增: #endregion
127新增:
128新增: #region IsCanScroll 是否可以滚动
129新增: /// <summary>
130新增: /// 是否在加载中
131新增: /// </summary>
132新增: public bool IsCanScroll
133新增: {
134新增: get { return (bool)GetValue(IsCanScrollProperty); }
135新增: set { SetValue(IsCanScrollProperty, value); }
136新增: }
137新增: public static readonly DependencyProperty IsCanScrollProperty =
138新增: DependencyProperty.Register("IsCanScroll",
139新增: typeof(bool),
140新增: typeof(Charts),
141新增: new PropertyMetadata(true, new PropertyChangedCallback(OnPropertyChanged)));
142新增:
143新增:
126144 #endregion
127145 #region ClickCommand 点击命令
128146 /// <summary>
@@ -149,7 +167,7 @@ namespace UI.Controls.Charts
149167 }
150168 if (e.Property == IsLoadingProperty)
151169 {
152删除: if (!charts.IsLoading)
170新增: if (!charts.IsLoading || e.Property == IsCanScrollProperty)
153171 {
154172 charts.Render();
155173 }
@@ -169,6 +187,7 @@ namespace UI.Controls.Charts
169187 /// 容器
170188 /// </summary>
171189 private StackPanel Container;
190新增: private StackPanel NoScrollContainer;
172191 private WrapPanel CardContainer;
173192 private Grid MonthContainer;
174193 private ScrollViewer ScrollViewer;
@@ -204,6 +223,7 @@ namespace UI.Controls.Charts
204223 CardContainer = GetTemplateChild("CardContainer") as WrapPanel;
205224 MonthContainer = GetTemplateChild("MonthContainer") as Grid;
206225 ScrollViewer = GetTemplateChild("ScrollViewer") as ScrollViewer;
226新增: NoScrollContainer = GetTemplateChild("NoScrollContainer") as StackPanel;
207227
208228 if (IsLoading)
209229 {
@@ -229,7 +249,14 @@ namespace UI.Controls.Charts
229249 case ChartsType.HorizontalA:
230250 var item = new ChartsItemTypeA();
231251 item.IsLoading = true;
232删除: Container.Children.Add(item);
252新增: if (IsCanScroll)
253新增: {
254新增: Container.Children.Add(item);
255新增: }
256新增: else
257新增: {
258新增: NoScrollContainer.Children.Add(item);
259新增: }
233260 break;
234261 case ChartsType.Card:
235262 var card = new ChartsItemTypeCard();
@@ -269,14 +296,27 @@ namespace UI.Controls.Charts
269296 {
270297 return;
271298 }
299新增:
300新增: if (IsCanScroll)
301新增: {
302新增: ScrollViewer.Visibility = Visibility.Visible;
303新增: NoScrollContainer.Visibility = Visibility.Collapsed;
304新增: }
305新增: else
306新增: {
307新增: ScrollViewer.Visibility = Visibility.Collapsed;
308新增: NoScrollContainer.Visibility = Visibility.Visible;
309新增: }
272310 Calculate();
273311 Container.Children.Clear();
274312 CardContainer.Children.Clear();
275313 MonthContainer.Children.Clear();
314新增: NoScrollContainer.Children.Clear();
276315
277316 if (Data == null || Data.Count() <= 0)
278317 {
279318 Container.Children.Add(new EmptyData());
319新增: NoScrollContainer.Children.Add(new EmptyData());
280320 CardContainer.Children.Add(new EmptyData());
281321 return;
282322 }
@@ -296,7 +336,7 @@ namespace UI.Controls.Charts
296336 }
297337
298338 }
299删除:
339新增:
300340 #region 渲染横向样式A
301341 private void RenderHorizontalAStyle()
302342 {
@@ -318,8 +358,12 @@ namespace UI.Controls.Charts
318358 lazyloadingData = data;
319359 ScrollViewer.ScrollChanged += ScrollViewer_ScrollChanged;
320360 }
321删除: Container.SizeChanged -= Container_SizeChanged;
322删除: Container.SizeChanged += Container_SizeChanged;
361新增:
362新增: if (IsCanScroll)
363新增: {
364新增: Container.SizeChanged -= Container_SizeChanged;
365新增: Container.SizeChanged += Container_SizeChanged;
366新增: }
323367 isRendering = false;
324368 }
325369
@@ -355,6 +399,11 @@ namespace UI.Controls.Charts
355399
356400 private void RenderTypeAItems(List<ChartsDataModel> data, int start, int count)
357401 {
402新增: StackPanel container = Container;
403新增: if (!IsCanScroll)
404新增: {
405新增: container = NoScrollContainer;
406新增: }
358407 for (int i = start; i < start + count; i++)
359408 {
360409
@@ -373,7 +422,7 @@ namespace UI.Controls.Charts
373422 }
374423 // 处理点击事件
375424 HandleItemClick(chartsItem, item);
376删除: Container.Children.Insert(lazyloadedCount, chartsItem);
425新增: container.Children.Insert(lazyloadedCount, chartsItem);
377426
378427 if (ShowLimit > 0 && Container.Children.Count == ShowLimit)
379428 {
@@ -382,7 +431,7 @@ namespace UI.Controls.Charts
382431 lazyloadedCount++;
383432 if (i >= 20)
384433 {
385删除: Container.Children.RemoveAt(Container.Children.Count - 1);
434新增: container.Children.RemoveAt(Container.Children.Count - 1);
386435 }
387436 }
388437 }
修改UI/Themes/Charts/Charts.xaml+2 −1看文件
@@ -14,10 +14,11 @@
1414 <Border Background="{TemplateBinding Background}">
1515 <Grid>
1616 <Grid x:Name="HorizontalA" Visibility="Collapsed">
17删除: <ScrollViewer x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" Height="{Binding ElementName=HorizontalA,Path=ActualHeight}" CanContentScroll="False">
17新增: <ScrollViewer Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" Height="{Binding ElementName=HorizontalA,Path=ActualHeight}" CanContentScroll="False">
1818 <StackPanel x:Name="Container">
1919 </StackPanel>
2020 </ScrollViewer>
21新增: <StackPanel Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
2122 </Grid>
2223 <Grid x:Name="Card" Visibility="Collapsed">
2324 <WrapPanel x:Name="CardContainer">