提交记录修改Core/Servicers/Instances/Data.cs+18 −2看文件
修改Core/Servicers/Interfaces/IData.cs+6 −0看文件
修改UI/Controls/Charts/Charts.cs+66 −0看文件
修改UI/Models/ChartPageModel.cs+25 −1看文件
修改UI/Servicers/AppContextMenuServicer.cs+29 −5看文件
修改UI/ViewModels/ChartPageVM.cs+60 −5看文件
修改UI/Views/ChartPage.xaml+76 −14看文件
| @@ -67,7 +67,7 @@ namespace Core.Servicers.Instances | ||
| 67 | 67 | { |
| 68 | 68 | res.Time += seconds; |
| 69 | 69 | } |
| 70 | 删除: | |
| 70 | 新增: | |
| 71 | 71 | db.SaveChanges(); |
| 72 | 72 | transcation.Commit(); |
| 73 | 73 | } |
| @@ -101,7 +101,7 @@ namespace Core.Servicers.Instances | ||
| 101 | 101 | return; |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 删除: | |
| 104 | 新增: | |
| 105 | 105 | |
| 106 | 106 | using (var db = new TaiDbContext()) |
| 107 | 107 | { |
| @@ -686,5 +686,21 @@ namespace Core.Servicers.Instances | ||
| 686 | 686 | return res; |
| 687 | 687 | } |
| 688 | 688 | } |
| 689 | 新增: | |
| 690 | 新增: public IEnumerable<HoursLogModel> GetTimeRangelogList(DateTime time) | |
| 691 | 新增: { | |
| 692 | 新增: time = new DateTime(time.Year, time.Month, time.Day, time.Hour, 0, 0); | |
| 693 | 新增: using (var db = new TaiDbContext()) | |
| 694 | 新增: { | |
| 695 | 新增: var res = db.HoursLog.Where(m => m.DataTime == time).ToList(); | |
| 696 | 新增: | |
| 697 | 新增: foreach (var log in res) | |
| 698 | 新增: { | |
| 699 | 新增: log.AppModel = appData.GetApp(log.AppModelID); | |
| 700 | 新增: } | |
| 701 | 新增: | |
| 702 | 新增: return res; | |
| 703 | 新增: } | |
| 704 | 新增: } | |
| 689 | 705 | } |
| 690 | 706 | } |
| @@ -104,6 +104,12 @@ namespace Core.Servicers.Interfaces | ||
| 104 | 104 | /// <param name="end"></param> |
| 105 | 105 | /// <returns></returns> |
| 106 | 106 | int GetDateRangeAppCount(DateTime start, DateTime end); |
| 107 | 新增: /// <summary> | |
| 108 | 新增: /// 获取指定时间(小时)所有使用app数据 | |
| 109 | 新增: /// </summary> | |
| 110 | 新增: /// <param name="time"></param> | |
| 111 | 新增: /// <returns></returns> | |
| 112 | 新增: IEnumerable<HoursLogModel> GetTimeRangelogList(DateTime time); | |
| 107 | 113 | |
| 108 | 114 | } |
| 109 | 115 | } |
| @@ -310,6 +310,39 @@ namespace UI.Controls.Charts | ||
| 310 | 310 | new PropertyMetadata(true)); |
| 311 | 311 | |
| 312 | 312 | |
| 313 | 新增: #endregion | |
| 314 | 新增: #region 是否允许选择项(仅柱状图有效,默认不允许) | |
| 315 | 新增: /// <summary> | |
| 316 | 新增: /// 是否允许选择项(仅柱状图有效,默认不允许) | |
| 317 | 新增: /// </summary> | |
| 318 | 新增: public bool IsCanColumnSelect | |
| 319 | 新增: { | |
| 320 | 新增: get { return (bool)GetValue(IsCanColumnSelectProperty); } | |
| 321 | 新增: set { SetValue(IsCanColumnSelectProperty, value); } | |
| 322 | 新增: } | |
| 323 | 新增: public static readonly DependencyProperty IsCanColumnSelectProperty = | |
| 324 | 新增: DependencyProperty.Register("IsCanColumnSelect", | |
| 325 | 新增: typeof(bool), | |
| 326 | 新增: typeof(Charts), | |
| 327 | 新增: new PropertyMetadata(false)); | |
| 328 | 新增: | |
| 329 | 新增: | |
| 330 | 新增: #endregion | |
| 331 | 新增: #region 选中列索引(仅柱状图有效) | |
| 332 | 新增: /// <summary> | |
| 333 | 新增: /// 选中列索引(仅柱状图有效) | |
| 334 | 新增: /// </summary> | |
| 335 | 新增: public int ColumnSelectedIndex | |
| 336 | 新增: { | |
| 337 | 新增: get { return (int)GetValue(ColumnSelectedIndexProperty); } | |
| 338 | 新增: set { SetValue(ColumnSelectedIndexProperty, value); } | |
| 339 | 新增: } | |
| 340 | 新增: public static readonly DependencyProperty ColumnSelectedIndexProperty = | |
| 341 | 新增: DependencyProperty.Register("ColumnSelectedIndex", | |
| 342 | 新增: typeof(int), | |
| 343 | 新增: typeof(Charts), new PropertyMetadata(-1, new PropertyChangedCallback(OnPropertyChanged))); | |
| 344 | 新增: | |
| 345 | 新增: | |
| 313 | 346 | #endregion |
| 314 | 347 | public bool IsShowValuesPopup |
| 315 | 348 | { |
| @@ -386,6 +419,10 @@ namespace UI.Controls.Charts | ||
| 386 | 419 | charts.RenderLoadingPlaceholder(); |
| 387 | 420 | } |
| 388 | 421 | } |
| 422 | 新增: if (e.Property == ColumnSelectedIndexProperty && e.OldValue != e.NewValue) | |
| 423 | 新增: { | |
| 424 | 新增: charts.CheckColumnItem((int)e.OldValue, (int)e.NewValue); | |
| 425 | 新增: } | |
| 389 | 426 | |
| 390 | 427 | } |
| 391 | 428 | |
| @@ -873,6 +910,29 @@ namespace UI.Controls.Charts | ||
| 873 | 910 | #endregion |
| 874 | 911 | |
| 875 | 912 | #region 渲染柱形图 |
| 913 | 新增: private void CheckColumnItem(int oldIndex, int newIndex) | |
| 914 | 新增: { | |
| 915 | 新增: if (!IsCanColumnSelect || ColumnContainer.Children.Count == 0) | |
| 916 | 新增: { | |
| 917 | 新增: return; | |
| 918 | 新增: } | |
| 919 | 新增: | |
| 920 | 新增: if (oldIndex >= 0 && oldIndex < ColumnContainer.Children.Count) | |
| 921 | 新增: { | |
| 922 | 新增: var oldItem = ColumnContainer.Children[oldIndex] as Grid; | |
| 923 | 新增: oldItem.Background = new SolidColorBrush(Colors.Transparent); | |
| 924 | 新增: } | |
| 925 | 新增: if (newIndex >= 0 && newIndex < ColumnContainer.Children.Count) | |
| 926 | 新增: { | |
| 927 | 新增: var background = Application.Current.Resources["ThemeBrush"] as SolidColorBrush; | |
| 928 | 新增: | |
| 929 | 新增: var checkItem = ColumnContainer.Children[newIndex] as Grid; | |
| 930 | 新增: checkItem.Background = new SolidColorBrush(background.Color) { Opacity = .1 }; | |
| 931 | 新增: } | |
| 932 | 新增: } | |
| 933 | 新增: /// <summary> | |
| 934 | 新增: /// 渲染柱形图 | |
| 935 | 新增: /// </summary> | |
| 876 | 936 | private void RenderColumnStyle() |
| 877 | 937 | { |
| 878 | 938 | ColumnContainer.Children.Clear(); |
| @@ -997,6 +1057,12 @@ namespace UI.Controls.Charts | ||
| 997 | 1057 | { |
| 998 | 1058 | IsShowValuesPopup = false; |
| 999 | 1059 | }; |
| 1060 | 新增: | |
| 1061 | 新增: var index = i; | |
| 1062 | 新增: valueContainer.MouseLeftButtonDown += (e, c) => | |
| 1063 | 新增: { | |
| 1064 | 新增: ColumnSelectedIndex = index; | |
| 1065 | 新增: }; | |
| 1000 | 1066 | } |
| 1001 | 1067 | |
| 1002 | 1068 | var infoList = new List<ChartColumnInfoModel>(); |
| @@ -81,7 +81,7 @@ namespace UI.Models | ||
| 81 | 81 | |
| 82 | 82 | private double DataMaximum_ = 0; |
| 83 | 83 | public double DataMaximum { get { return DataMaximum_; } set { DataMaximum_ = value; OnPropertyChanged(); } } |
| 84 | 删除: | |
| 84 | 新增: | |
| 85 | 85 | private ContextMenu AppContextMenu_; |
| 86 | 86 | public ContextMenu AppContextMenu { get { return AppContextMenu_; } set { AppContextMenu_ = value; OnPropertyChanged(); } } |
| 87 | 87 | |
| @@ -93,5 +93,29 @@ namespace UI.Models | ||
| 93 | 93 | private string AppCount_; |
| 94 | 94 | public string AppCount { get { return AppCount_; } set { AppCount_ = value; OnPropertyChanged(); } } |
| 95 | 95 | |
| 96 | 新增: private int ColumnSelectedIndex_ = -1; | |
| 97 | 新增: /// <summary> | |
| 98 | 新增: /// 柱状图选中列索引 | |
| 99 | 新增: /// </summary> | |
| 100 | 新增: public int ColumnSelectedIndex { get { return ColumnSelectedIndex_; } set { ColumnSelectedIndex_ = value; OnPropertyChanged(); } } | |
| 101 | 新增: private List<ChartsDataModel> DayHoursData_; | |
| 102 | 新增: /// <summary> | |
| 103 | 新增: /// 指定时段app数据 | |
| 104 | 新增: /// </summary> | |
| 105 | 新增: public List<ChartsDataModel> DayHoursData | |
| 106 | 新增: { | |
| 107 | 新增: get { return DayHoursData_; } | |
| 108 | 新增: set { DayHoursData_ = value; OnPropertyChanged(); } | |
| 109 | 新增: } | |
| 110 | 新增: private string DayHoursSelectedTime_; | |
| 111 | 新增: /// <summary> | |
| 112 | 新增: /// 选中时段 | |
| 113 | 新增: /// </summary> | |
| 114 | 新增: public string DayHoursSelectedTime { get { return DayHoursSelectedTime_; } set { DayHoursSelectedTime_ = value; OnPropertyChanged(); } } | |
| 115 | 新增: private bool IsCanColumnSelect_ = true; | |
| 116 | 新增: /// <summary> | |
| 117 | 新增: /// 是否允许选择 | |
| 118 | 新增: /// </summary> | |
| 119 | 新增: public bool IsCanColumnSelect { get { return IsCanColumnSelect_; } set { IsCanColumnSelect_ = value; OnPropertyChanged(); } } | |
| 96 | 120 | } |
| 97 | 121 | } |
| @@ -93,7 +93,13 @@ namespace UI.Servicers | ||
| 93 | 93 | { |
| 94 | 94 | var data = menu.Tag as ChartsDataModel; |
| 95 | 95 | var log = data.Data as DailyLogModel; |
| 96 | 删除: var app = log.AppModel; | |
| 96 | 新增: var app = log != null ? log.AppModel : null; | |
| 97 | 新增: | |
| 98 | 新增: if (log == null) | |
| 99 | 新增: { | |
| 100 | 新增: app = (data.Data as HoursLogModel).AppModel; | |
| 101 | 新增: } | |
| 102 | 新增: | |
| 97 | 103 | |
| 98 | 104 | var config = appConfig.GetConfig(); |
| 99 | 105 | if (config.Behavior.IgnoreProcessList.Contains(app.Name)) |
| @@ -117,7 +123,12 @@ namespace UI.Servicers | ||
| 117 | 123 | |
| 118 | 124 | var data = menu.Tag as ChartsDataModel; |
| 119 | 125 | var log = data.Data as DailyLogModel; |
| 120 | 删除: var app = log.AppModel; | |
| 126 | 新增: var app = log != null ? log.AppModel : null; | |
| 127 | 新增: | |
| 128 | 新增: if (log == null) | |
| 129 | 新增: { | |
| 130 | 新增: app = (data.Data as HoursLogModel).AppModel; | |
| 131 | 新增: } | |
| 121 | 132 | |
| 122 | 133 | var categories = categorys.GetCategories(); |
| 123 | 134 | foreach (var category in categories) |
| @@ -140,7 +151,12 @@ namespace UI.Servicers | ||
| 140 | 151 | |
| 141 | 152 | var data = menu.Tag as ChartsDataModel; |
| 142 | 153 | var log = data.Data as DailyLogModel; |
| 143 | 删除: var app = log.AppModel; | |
| 154 | 新增: var app = log != null ? log.AppModel : null; | |
| 155 | 新增: | |
| 156 | 新增: if (log == null) | |
| 157 | 新增: { | |
| 158 | 新增: app = (data.Data as HoursLogModel).AppModel; | |
| 159 | 新增: } | |
| 144 | 160 | var config = appConfig.GetConfig(); |
| 145 | 161 | |
| 146 | 162 | var links = config.Links; |
| @@ -199,8 +215,12 @@ namespace UI.Servicers | ||
| 199 | 215 | var data = menu.Tag as ChartsDataModel; |
| 200 | 216 | |
| 201 | 217 | var log = data.Data as DailyLogModel; |
| 218 | 新增: var app = log != null ? log.AppModel : null; | |
| 202 | 219 | |
| 203 | 删除: var app = log.AppModel; | |
| 220 | 新增: if (log == null) | |
| 221 | 新增: { | |
| 222 | 新增: app = (data.Data as HoursLogModel).AppModel; | |
| 223 | 新增: } | |
| 204 | 224 | |
| 205 | 225 | if (File.Exists(app.File)) |
| 206 | 226 | { |
| @@ -217,8 +237,12 @@ namespace UI.Servicers | ||
| 217 | 237 | var data = menu.Tag as ChartsDataModel; |
| 218 | 238 | |
| 219 | 239 | var log = data.Data as DailyLogModel; |
| 240 | 新增: var app = log != null ? log.AppModel : null; | |
| 220 | 241 | |
| 221 | 删除: var app = log.AppModel; | |
| 242 | 新增: if (log == null) | |
| 243 | 新增: { | |
| 244 | 新增: app = (data.Data as HoursLogModel).AppModel; | |
| 245 | 新增: } | |
| 222 | 246 | |
| 223 | 247 | if (File.Exists(app.File)) |
| 224 | 248 | { |
| @@ -73,7 +73,7 @@ namespace UI.ViewModels | ||
| 73 | 73 | AppContextMenu = appContextMenuServicer.GetContextMenu(); |
| 74 | 74 | } |
| 75 | 75 | |
| 76 | 删除: | |
| 76 | 新增: | |
| 77 | 77 | public override void Dispose() |
| 78 | 78 | { |
| 79 | 79 | base.Dispose(); |
| @@ -88,9 +88,16 @@ namespace UI.ViewModels | ||
| 88 | 88 | if (data != null) |
| 89 | 89 | { |
| 90 | 90 | var model = data.Data as DailyLogModel; |
| 91 | 删除: if (model != null && model.AppModel != null) | |
| 91 | 新增: var app = model != null ? model.AppModel : null; | |
| 92 | 新增: | |
| 93 | 新增: if (model == null) | |
| 94 | 新增: { | |
| 95 | 新增: app = (data.Data as HoursLogModel).AppModel; | |
| 96 | 新增: } | |
| 97 | 新增: | |
| 98 | 新增: if (app != null) | |
| 92 | 99 | { |
| 93 | 删除: mainVM.Data = model.AppModel; | |
| 100 | 新增: mainVM.Data = app; | |
| 94 | 101 | mainVM.Uri = nameof(DetailPage); |
| 95 | 102 | } |
| 96 | 103 | |
| @@ -99,13 +106,21 @@ namespace UI.ViewModels | ||
| 99 | 106 | private void OnRefreshCommand(object obj) |
| 100 | 107 | { |
| 101 | 108 | LoadData(); |
| 109 | 新增: if (TabbarSelectedIndex == 0) | |
| 110 | 新增: { | |
| 111 | 新增: LoadDayHoursData(); | |
| 112 | 新增: } | |
| 102 | 113 | } |
| 103 | 114 | |
| 104 | 115 | private void InputServicer_OnKeyUpInput(object sender, System.Windows.Forms.Keys key) |
| 105 | 116 | { |
| 106 | 删除: if(key== System.Windows.Forms.Keys.F5) | |
| 117 | 新增: if (key == System.Windows.Forms.Keys.F5) | |
| 107 | 118 | { |
| 108 | 119 | LoadData(); |
| 120 | 新增: if (TabbarSelectedIndex == 0) | |
| 121 | 新增: { | |
| 122 | 新增: LoadDayHoursData(); | |
| 123 | 新增: } | |
| 109 | 124 | } |
| 110 | 125 | } |
| 111 | 126 | |
| @@ -118,7 +133,7 @@ namespace UI.ViewModels | ||
| 118 | 133 | } |
| 119 | 134 | if (e.PropertyName == nameof(TabbarSelectedIndex)) |
| 120 | 135 | { |
| 121 | 删除: | |
| 136 | 新增: IsCanColumnSelect = TabbarSelectedIndex == 0; | |
| 122 | 137 | LoadData(); |
| 123 | 138 | } |
| 124 | 139 | if (e.PropertyName == nameof(SelectedWeek)) |
| @@ -133,6 +148,13 @@ namespace UI.ViewModels | ||
| 133 | 148 | { |
| 134 | 149 | LoadYearData(); |
| 135 | 150 | } |
| 151 | 新增: if (e.PropertyName == nameof(ColumnSelectedIndex)) | |
| 152 | 新增: { | |
| 153 | 新增: if (TabbarSelectedIndex == 0) | |
| 154 | 新增: { | |
| 155 | 新增: LoadDayHoursData(); | |
| 156 | 新增: } | |
| 157 | 新增: } | |
| 136 | 158 | } |
| 137 | 159 | |
| 138 | 160 | |
| @@ -165,6 +187,7 @@ namespace UI.ViewModels | ||
| 165 | 187 | /// </summary> |
| 166 | 188 | private void LoadDayData() |
| 167 | 189 | { |
| 190 | 新增: ColumnSelectedIndex = -1; | |
| 168 | 191 | DataMaximum = 3600; |
| 169 | 192 | Task.Run(() => |
| 170 | 193 | { |
| @@ -440,5 +463,37 @@ namespace UI.ViewModels | ||
| 440 | 463 | |
| 441 | 464 | return resData; |
| 442 | 465 | } |
| 466 | 新增: | |
| 467 | 新增: private void LoadDayHoursData() | |
| 468 | 新增: { | |
| 469 | 新增: if (ColumnSelectedIndex < 0) | |
| 470 | 新增: { | |
| 471 | 新增: DayHoursSelectedTime = String.Empty; | |
| 472 | 新增: return; | |
| 473 | 新增: } | |
| 474 | 新增: Task.Run(() => | |
| 475 | 新增: { | |
| 476 | 新增: // 加载选中时段的所有app数据 | |
| 477 | 新增: var time = new DateTime(Date.Year, Date.Month, Date.Day, ColumnSelectedIndex, 0, 0); | |
| 478 | 新增: DayHoursSelectedTime = time.ToString("yyyy年MM月dd日 HH点"); | |
| 479 | 新增: var list = data.GetTimeRangelogList(time); | |
| 480 | 新增: | |
| 481 | 新增: var chartsDatas = new List<ChartsDataModel>(); | |
| 482 | 新增: | |
| 483 | 新增: foreach (var item in list) | |
| 484 | 新增: { | |
| 485 | 新增: var bindModel = new ChartsDataModel(); | |
| 486 | 新增: bindModel.Data = item; | |
| 487 | 新增: bindModel.Name = string.IsNullOrEmpty(item.AppModel?.Description) ? item.AppModel.Name : item.AppModel.Description; | |
| 488 | 新增: bindModel.Value = item.Time; | |
| 489 | 新增: bindModel.Tag = Time.ToString(item.Time); | |
| 490 | 新增: bindModel.PopupText = item.AppModel?.File; | |
| 491 | 新增: bindModel.Icon = item.AppModel?.IconFile; | |
| 492 | 新增: chartsDatas.Add(bindModel); | |
| 493 | 新增: } | |
| 494 | 新增: | |
| 495 | 新增: DayHoursData = chartsDatas; | |
| 496 | 新增: }); | |
| 497 | 新增: } | |
| 443 | 498 | } |
| 444 | 499 | } |
| @@ -41,6 +41,7 @@ | ||
| 41 | 41 | </base:View> |
| 42 | 42 | </Grid> |
| 43 | 43 | </Border> |
| 44 | 新增: | |
| 44 | 45 | <Grid Width="680" HorizontalAlignment="Left" Margin="0,20,0,0"> |
| 45 | 46 | <Grid.ColumnDefinitions> |
| 46 | 47 | <ColumnDefinition Width="*"/> |
| @@ -137,42 +138,103 @@ | ||
| 137 | 138 | </Border> |
| 138 | 139 | </Grid> |
| 139 | 140 | |
| 140 | 删除: <TextBlock Text="时段" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> | |
| 141 | 新增: <WrapPanel Margin="-10"> | |
| 142 | 新增: | |
| 143 | 新增: <!--时段--> | |
| 144 | 新增: <Grid Margin="10,0,0,0"> | |
| 145 | 新增: <Grid.RowDefinitions> | |
| 146 | 新增: <RowDefinition Height="auto"/> | |
| 147 | 新增: <RowDefinition Height="*"/> | |
| 148 | 新增: </Grid.RowDefinitions> | |
| 149 | 新增: <TextBlock Text="时段" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> | |
| 141 | 150 | |
| 142 | 删除: <Border Margin="0,5,0,0" Height="360" Width="680" HorizontalAlignment="Left" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10"> | |
| 143 | 删除: <charts:Charts IsShowTotal="False" DataMaximum="{Binding DataMaximum}" NameIndexStart="{Binding NameIndexStart}" ChartsType="Column" Data="{Binding Data}"/> | |
| 151 | 新增: <Border Grid.Row="1" Margin="0,5,0,0" Width="680" HorizontalAlignment="Left" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10"> | |
| 152 | 新增: <StackPanel> | |
| 153 | 新增: <charts:Charts Height="310" ColumnSelectedIndex="{Binding ColumnSelectedIndex,Mode=TwoWay}" IsShowTotal="False" DataMaximum="{Binding DataMaximum}" NameIndexStart="{Binding NameIndexStart}" ChartsType="Column" Data="{Binding Data}" IsCanColumnSelect="{Binding IsCanColumnSelect}"/> | |
| 154 | 新增: <base:View Value="{Binding TabbarSelectedIndex}" Condition="0"> | |
| 155 | 新增: <base:View Value="{Binding DayHoursSelectedTime}" Condition="not empty"> | |
| 156 | 新增: <StackPanel> | |
| 157 | 新增: <Border Margin="0,10,0,5" HorizontalAlignment="Left" Padding="10" CornerRadius="10"> | |
| 158 | 新增: <Border.Background> | |
| 159 | 新增: <SolidColorBrush Color="{DynamicResource ThemeColor}" Opacity=".05"/> | |
| 160 | 新增: </Border.Background> | |
| 161 | 新增: <StackPanel Orientation="Horizontal"> | |
| 162 | 新增: <base:Icon Foreground="{DynamicResource SubTextBrush}" IconType="Timer" VerticalAlignment="Center"/> | |
| 163 | 新增: <TextBlock Foreground="{DynamicResource SubTextBrush}" VerticalAlignment="Center" Text="{Binding DayHoursSelectedTime}" FontSize="13" Margin="5,0,0,0"/> | |
| 144 | 164 | |
| 145 | 删除: </Border> | |
| 165 | 新增: </StackPanel> | |
| 166 | 新增: </Border> | |
| 167 | 新增: <base:View Value="{Binding DayHoursData}" Condition="not empty"> | |
| 168 | 新增: <charts:Charts Margin="0,0,0,0" Height="300" ItemMenu="{Binding AppContextMenu}" Data="{Binding DayHoursData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}" /> | |
| 169 | 新增: </base:View> | |
| 170 | 新增: <base:View Value="{Binding DayHoursData}" Condition="empty"> | |
| 171 | 新增: <base:EmptyData/> | |
| 172 | 新增: </base:View> | |
| 173 | 新增: </StackPanel> | |
| 174 | 新增: </base:View> | |
| 175 | 新增: </base:View> | |
| 176 | 新增: </StackPanel> | |
| 177 | 新增: </Border> | |
| 146 | 178 | |
| 147 | 删除: <Grid Width="680" HorizontalAlignment="Left"> | |
| 148 | 删除: <Grid.ColumnDefinitions> | |
| 149 | 删除: <ColumnDefinition Width="*"/> | |
| 150 | 删除: <ColumnDefinition Width="*"/> | |
| 151 | 删除: </Grid.ColumnDefinitions> | |
| 152 | 删除: <Grid > | |
| 179 | 新增: </Grid> | |
| 180 | 新增: | |
| 181 | 新增: | |
| 182 | 新增: <!--雷达图--> | |
| 183 | 新增: <Grid Margin="10,0,0,0" Width="350" Height="400" VerticalAlignment="Top"> | |
| 153 | 184 | <Grid.RowDefinitions> |
| 154 | 185 | <RowDefinition Height="auto"/> |
| 155 | 186 | <RowDefinition Height="*"/> |
| 156 | 187 | </Grid.RowDefinitions> |
| 188 | 新增: | |
| 157 | 189 | <TextBlock Text="分类" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> |
| 158 | 190 | <Border Margin="0,5,0,0" Grid.Row="1" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10"> |
| 159 | 191 | <charts:Charts Margin="10,20,10,10" Height="230" Width="230" ChartsType="Radar" Data="{Binding Data}"/> |
| 160 | 192 | |
| 161 | 193 | </Border> |
| 162 | 194 | </Grid> |
| 163 | 删除: <Grid Grid.Column="1" Margin="20,0,0,0"> | |
| 195 | 新增: | |
| 196 | 新增: <!--最为频繁--> | |
| 197 | 新增: <Grid Margin="10,0,0,0" Width="320" Height="400" VerticalAlignment="Top"> | |
| 164 | 198 | <Grid.RowDefinitions> |
| 165 | 199 | <RowDefinition Height="auto"/> |
| 166 | 删除: <RowDefinition Height="auto"/> | |
| 200 | 新增: <RowDefinition Height="*"/> | |
| 167 | 201 | </Grid.RowDefinitions> |
| 202 | 新增: | |
| 168 | 203 | <TextBlock Text="最为频繁" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> |
| 169 | 204 | <Border Grid.Row="1" Margin="0,5,0,0" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10"> |
| 170 | 删除: <charts:Charts ItemMenu="{Binding AppContextMenu}" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}" IsCanScroll="False"/> | |
| 205 | 新增: <charts:Charts VerticalAlignment="Center" ItemMenu="{Binding AppContextMenu}" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}" IsCanScroll="False"/> | |
| 171 | 206 | </Border> |
| 172 | 207 | </Grid> |
| 173 | 删除: </Grid> | |
| 174 | 208 | |
| 209 | 新增: <!--<Grid Width="680" HorizontalAlignment="Left"> | |
| 210 | 新增: <Grid.ColumnDefinitions> | |
| 211 | 新增: <ColumnDefinition Width="*"/> | |
| 212 | 新增: <ColumnDefinition Width="*"/> | |
| 213 | 新增: </Grid.ColumnDefinitions> | |
| 214 | 新增: <Grid > | |
| 215 | 新增: <Grid.RowDefinitions> | |
| 216 | 新增: <RowDefinition Height="auto"/> | |
| 217 | 新增: <RowDefinition Height="*"/> | |
| 218 | 新增: </Grid.RowDefinitions> | |
| 219 | 新增: <TextBlock Text="分类" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> | |
| 220 | 新增: <Border Margin="0,5,0,0" Grid.Row="1" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10"> | |
| 221 | 新增: <charts:Charts Margin="10,20,10,10" Height="230" Width="230" ChartsType="Radar" Data="{Binding Data}"/> | |
| 222 | 新增: | |
| 223 | 新增: </Border> | |
| 224 | 新增: </Grid> | |
| 225 | 新增: <Grid Grid.Column="1" Margin="20,0,0,0"> | |
| 226 | 新增: <Grid.RowDefinitions> | |
| 227 | 新增: <RowDefinition Height="auto"/> | |
| 228 | 新增: <RowDefinition Height="auto"/> | |
| 229 | 新增: </Grid.RowDefinitions> | |
| 230 | 新增: <TextBlock Text="最为频繁" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> | |
| 231 | 新增: <Border Grid.Row="1" Margin="0,5,0,0" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10"> | |
| 232 | 新增: <charts:Charts ItemMenu="{Binding AppContextMenu}" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}" IsCanScroll="False"/> | |
| 233 | 新增: </Border> | |
| 234 | 新增: </Grid> | |
| 235 | 新增: </Grid>--> | |
| 175 | 236 | |
| 176 | 237 | |
| 238 | 新增: </WrapPanel> | |
| 177 | 239 | </StackPanel> |
| 178 | 240 | </Page> |

