提交记录修改UI/App.xaml+3 −1看文件
修改UI/App.xaml.cs+3 −0看文件
修改UI/Controls/Charts/Charts.cs+20 −0看文件
修改UI/Models/ChartPageModel.cs+4 −0看文件
新增UI/Models/ContextMenuItemModel.cs+12 −0看文件
修改UI/Models/DataPageModel.cs+4 −0看文件
修改UI/Models/IndexPageModel.cs+5 −1看文件
新增UI/Servicers/AppContextMenuServicer.cs+187 −0看文件
新增UI/Servicers/IAppContextMenuServicer.cs+15 −0看文件
修改UI/UI.csproj+3 −0看文件
修改UI/ViewModels/ChartPageVM.cs+7 −1看文件
修改UI/ViewModels/DataPageVM.cs+8 −2看文件
修改UI/ViewModels/IndexPageVM.cs+7 −1看文件
修改UI/Views/ChartPage.xaml+1 −1看文件
修改UI/Views/DataPage.xaml+4 −4看文件
修改UI/Views/IndexPage.xaml+2 −2看文件
| @@ -219,6 +219,8 @@ | ||
| 219 | 219 | Fill="#2B20D9" |
| 220 | 220 | Width="5" |
| 221 | 221 | Height="5" |
| 222 | 新增: RadiusX="5" | |
| 223 | 新增: RadiusY="5" | |
| 222 | 224 | VerticalAlignment="Center" |
| 223 | 225 | HorizontalAlignment="Center" |
| 224 | 226 | Visibility="Hidden" |
| @@ -357,7 +359,7 @@ | ||
| 357 | 359 | <ScrollViewer CanContentScroll="True" |
| 358 | 360 | > |
| 359 | 361 | <StackPanel IsItemsHost="True" |
| 360 | 删除: KeyboardNavigation.DirectionalNavigation="Cycle" /> | |
| 362 | 新增: KeyboardNavigation.DirectionalNavigation="Cycle" Margin="5"/> | |
| 361 | 363 | </ScrollViewer> |
| 362 | 364 | </Border> |
| 363 | 365 | </Grid> |
| @@ -17,6 +17,7 @@ using System.Windows; | ||
| 17 | 17 | using System.Windows.Controls; |
| 18 | 18 | using System.Windows.Resources; |
| 19 | 19 | using UI.Controls.Window; |
| 20 | 新增:using UI.Servicers; | |
| 20 | 21 | using UI.ViewModels; |
| 21 | 22 | using UI.Views; |
| 22 | 23 | |
| @@ -190,6 +191,8 @@ namespace UI | ||
| 190 | 191 | services.AddSingleton<IAppData, AppData>(); |
| 191 | 192 | services.AddSingleton<ICategorys, Categorys>(); |
| 192 | 193 | |
| 194 | 新增: services.AddSingleton<IAppContextMenuServicer, AppContextMenuServicer>(); | |
| 195 | 新增: | |
| 193 | 196 | // 主窗口 |
| 194 | 197 | services.AddSingleton<MainViewModel>(); |
| 195 | 198 | services.AddTransient<MainWindow>(); |
| @@ -372,6 +372,18 @@ namespace UI.Controls.Charts | ||
| 372 | 372 | } |
| 373 | 373 | |
| 374 | 374 | } |
| 375 | 新增: | |
| 376 | 新增: #region 右键菜单 | |
| 377 | 新增: public ContextMenu ItemMenu | |
| 378 | 新增: { | |
| 379 | 新增: get { return (ContextMenu)GetValue(ItemMenuProperty); } | |
| 380 | 新增: set { SetValue(ItemMenuProperty, value); } | |
| 381 | 新增: } | |
| 382 | 新增: public static readonly DependencyProperty ItemMenuProperty = | |
| 383 | 新增: DependencyProperty.Register("ItemMenu", | |
| 384 | 新增: typeof(ContextMenu), | |
| 385 | 新增: typeof(Charts)); | |
| 386 | 新增: #endregion | |
| 375 | 387 | /// <summary> |
| 376 | 388 | /// 点击项目时发生 |
| 377 | 389 | /// </summary> |
| @@ -1003,6 +1015,14 @@ namespace UI.Controls.Charts | ||
| 1003 | 1015 | OnItemClick?.Invoke(data, null); |
| 1004 | 1016 | ClickCommand?.Execute(data); |
| 1005 | 1017 | }; |
| 1018 | 新增: el.MouseRightButtonUp += (s, e) => | |
| 1019 | 新增: { | |
| 1020 | 新增: if (ItemMenu != null) | |
| 1021 | 新增: { | |
| 1022 | 新增: ItemMenu.IsOpen = true; | |
| 1023 | 新增: ItemMenu.Tag = data; | |
| 1024 | 新增: } | |
| 1025 | 新增: }; | |
| 1006 | 1026 | } |
| 1007 | 1027 | } |
| 1008 | 1028 | } |
| @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; | ||
| 4 | 4 | using System.Linq; |
| 5 | 5 | using System.Text; |
| 6 | 6 | using System.Threading.Tasks; |
| 7 | 新增:using System.Windows.Controls; | |
| 7 | 8 | using UI.Controls.Charts.Model; |
| 8 | 9 | using UI.Controls.Select; |
| 9 | 10 | |
| @@ -80,5 +81,8 @@ namespace UI.Models | ||
| 80 | 81 | |
| 81 | 82 | private double DataMaximum_ = 0; |
| 82 | 83 | public double DataMaximum { get { return DataMaximum_; } set { DataMaximum_ = value; OnPropertyChanged(); } } |
| 84 | 新增: | |
| 85 | 新增: private ContextMenu AppContextMenu_; | |
| 86 | 新增: public ContextMenu AppContextMenu { get { return AppContextMenu_; } set { AppContextMenu_ = value; OnPropertyChanged(); } } | |
| 83 | 87 | } |
| 84 | 88 | } |
| @@ -0,0 +1,12 @@ | ||
| 1 | 新增:using System; | |
| 2 | 新增:using System.Collections.Generic; | |
| 3 | 新增:using System.Linq; | |
| 4 | 新增:using System.Text; | |
| 5 | 新增:using System.Threading.Tasks; | |
| 6 | 新增: | |
| 7 | 新增:namespace UI.Models | |
| 8 | 新增:{ | |
| 9 | 新增: internal class ContextMenuItemModel | |
| 10 | 新增: { | |
| 11 | 新增: } | |
| 12 | 新增:} | |
| @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; | ||
| 4 | 4 | using System.Linq; |
| 5 | 5 | using System.Text; |
| 6 | 6 | using System.Threading.Tasks; |
| 7 | 新增:using System.Windows.Controls; | |
| 7 | 8 | using UI.Controls.Charts.Model; |
| 8 | 9 | using UI.Controls.DatePickerBar; |
| 9 | 10 | |
| @@ -94,5 +95,8 @@ namespace UI.Models | ||
| 94 | 95 | get { return YearDate_; } |
| 95 | 96 | set { YearDate_ = value; OnPropertyChanged(); } |
| 96 | 97 | } |
| 98 | 新增: | |
| 99 | 新增: private ContextMenu AppContextMenu_; | |
| 100 | 新增: public ContextMenu AppContextMenu { get { return AppContextMenu_; } set { AppContextMenu_ = value; OnPropertyChanged(); } } | |
| 97 | 101 | } |
| 98 | 102 | } |
| @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; | ||
| 4 | 4 | using System.Linq; |
| 5 | 5 | using System.Text; |
| 6 | 6 | using System.Threading.Tasks; |
| 7 | 新增:using System.Windows.Controls; | |
| 7 | 8 | using UI.Controls.Charts.Model; |
| 8 | 9 | |
| 9 | 10 | namespace UI.Models |
| @@ -34,7 +35,7 @@ namespace UI.Models | ||
| 34 | 35 | } |
| 35 | 36 | } |
| 36 | 37 | |
| 37 | 删除: | |
| 38 | 新增: | |
| 38 | 39 | private List<ChartsDataModel> WeekData_; |
| 39 | 40 | /// <summary> |
| 40 | 41 | /// week data |
| @@ -47,5 +48,8 @@ namespace UI.Models | ||
| 47 | 48 | |
| 48 | 49 | private bool IsLoading_; |
| 49 | 50 | public bool IsLoading { get { return IsLoading_; } set { IsLoading_ = value; OnPropertyChanged(); } } |
| 51 | 新增: | |
| 52 | 新增: private ContextMenu AppContextMenu_; | |
| 53 | 新增: public ContextMenu AppContextMenu { get { return AppContextMenu_; } set { AppContextMenu_ = value; OnPropertyChanged(); } } | |
| 50 | 54 | } |
| 51 | 55 | } |
| @@ -0,0 +1,187 @@ | ||
| 1 | 新增:using Core.Models; | |
| 2 | 新增:using Core.Servicers.Interfaces; | |
| 3 | 新增:using System; | |
| 4 | 新增:using System.Collections.Generic; | |
| 5 | 新增:using System.Diagnostics; | |
| 6 | 新增:using System.IO; | |
| 7 | 新增:using System.Linq; | |
| 8 | 新增:using System.Text; | |
| 9 | 新增:using System.Threading.Tasks; | |
| 10 | 新增:using System.Windows.Controls; | |
| 11 | 新增:using UI.Controls.Charts.Model; | |
| 12 | 新增:using UI.ViewModels; | |
| 13 | 新增: | |
| 14 | 新增:namespace UI.Servicers | |
| 15 | 新增:{ | |
| 16 | 新增: public class AppContextMenuServicer : IAppContextMenuServicer | |
| 17 | 新增: { | |
| 18 | 新增: | |
| 19 | 新增: private readonly MainViewModel main; | |
| 20 | 新增: private readonly ICategorys categorys; | |
| 21 | 新增: private readonly IAppData appData; | |
| 22 | 新增: private readonly IAppConfig appConfig; | |
| 23 | 新增: | |
| 24 | 新增: private ContextMenu menu; | |
| 25 | 新增: private MenuItem setCategory; | |
| 26 | 新增: MenuItem block = new MenuItem(); | |
| 27 | 新增: | |
| 28 | 新增: | |
| 29 | 新增: public AppContextMenuServicer(MainViewModel main, ICategorys categorys, IAppData appData, IAppConfig appConfig) | |
| 30 | 新增: { | |
| 31 | 新增: this.main = main; | |
| 32 | 新增: this.categorys = categorys; | |
| 33 | 新增: this.appData = appData; | |
| 34 | 新增: this.appConfig = appConfig; | |
| 35 | 新增: | |
| 36 | 新增: menu = new ContextMenu(); | |
| 37 | 新增: } | |
| 38 | 新增: | |
| 39 | 新增: public void Init() | |
| 40 | 新增: { | |
| 41 | 新增: menu.Items.Clear(); | |
| 42 | 新增: | |
| 43 | 新增: MenuItem run = new MenuItem(); | |
| 44 | 新增: run.Header = "启动应用"; | |
| 45 | 新增: run.Click += Run_Click; | |
| 46 | 新增: | |
| 47 | 新增: MenuItem openDir = new MenuItem(); | |
| 48 | 新增: openDir.Header = "打开应用所在目录"; | |
| 49 | 新增: openDir.Click += OpenDir_Click; | |
| 50 | 新增: | |
| 51 | 新增: setCategory = new MenuItem(); | |
| 52 | 新增: setCategory.Header = "设置分类"; | |
| 53 | 新增: | |
| 54 | 新增: block.Header = "忽略此应用"; | |
| 55 | 新增: block.Click += Block_Click; | |
| 56 | 新增: | |
| 57 | 新增: menu.Items.Add(run); | |
| 58 | 新增: menu.Items.Add(new Separator()); | |
| 59 | 新增: menu.Items.Add(setCategory); | |
| 60 | 新增: menu.Items.Add(openDir); | |
| 61 | 新增: menu.Items.Add(new Separator()); | |
| 62 | 新增: menu.Items.Add(block); | |
| 63 | 新增: | |
| 64 | 新增: menu.ContextMenuOpening += SetCategory_ContextMenuOpening; | |
| 65 | 新增: } | |
| 66 | 新增: | |
| 67 | 新增: private void Block_Click(object sender, System.Windows.RoutedEventArgs e) | |
| 68 | 新增: { | |
| 69 | 新增: var data = menu.Tag as ChartsDataModel; | |
| 70 | 新增: var log = data.Data as DailyLogModel; | |
| 71 | 新增: var app = log.AppModel; | |
| 72 | 新增: | |
| 73 | 新增: var config = appConfig.GetConfig(); | |
| 74 | 新增: if (config.Behavior.IgnoreProcessList.Contains(app.Name)) | |
| 75 | 新增: { | |
| 76 | 新增: config.Behavior.IgnoreProcessList.Remove(app.Name); | |
| 77 | 新增: main.Toast($"已取消忽略此应用 {app.Description}", Controls.Window.ToastType.Success); | |
| 78 | 新增: } | |
| 79 | 新增: else | |
| 80 | 新增: { | |
| 81 | 新增: config.Behavior.IgnoreProcessList.Add(app.Name); | |
| 82 | 新增: main.Toast($"已忽略此应用 {app.Description}", Controls.Window.ToastType.Success); | |
| 83 | 新增: } | |
| 84 | 新增: } | |
| 85 | 新增: | |
| 86 | 新增: private void SetCategory_ContextMenuOpening(object sender, ContextMenuEventArgs e) | |
| 87 | 新增: { | |
| 88 | 新增: var data = menu.Tag as ChartsDataModel; | |
| 89 | 新增: var log = data.Data as DailyLogModel; | |
| 90 | 新增: var app = log.AppModel; | |
| 91 | 新增: | |
| 92 | 新增: var config = appConfig.GetConfig(); | |
| 93 | 新增: if (config.Behavior.IgnoreProcessList.Contains(app.Name)) | |
| 94 | 新增: { | |
| 95 | 新增: block.Header = "取消忽略此应用"; | |
| 96 | 新增: } | |
| 97 | 新增: else | |
| 98 | 新增: { | |
| 99 | 新增: block.Header = "忽略此应用"; | |
| 100 | 新增: } | |
| 101 | 新增: | |
| 102 | 新增: UpdateCategory(); | |
| 103 | 新增: } | |
| 104 | 新增: | |
| 105 | 新增: private void UpdateCategory() | |
| 106 | 新增: { | |
| 107 | 新增: setCategory.Items.Clear(); | |
| 108 | 新增: | |
| 109 | 新增: var data = menu.Tag as ChartsDataModel; | |
| 110 | 新增: var log = data.Data as DailyLogModel; | |
| 111 | 新增: var app = log.AppModel; | |
| 112 | 新增: | |
| 113 | 新增: var categories = categorys.GetCategories(); | |
| 114 | 新增: foreach (var category in categories) | |
| 115 | 新增: { | |
| 116 | 新增: var categoryMenu = new MenuItem(); | |
| 117 | 新增: categoryMenu.Header = category.Name; | |
| 118 | 新增: categoryMenu.IsChecked = app.CategoryID == category.ID; | |
| 119 | 新增: categoryMenu.Click += (s, e) => | |
| 120 | 新增: { | |
| 121 | 新增: SetAppCategory(app.ID, category); | |
| 122 | 新增: }; | |
| 123 | 新增: setCategory.Items.Add(categoryMenu); | |
| 124 | 新增: } | |
| 125 | 新增: | |
| 126 | 新增: } | |
| 127 | 新增: | |
| 128 | 新增: private void SetAppCategory(int appId, CategoryModel category) | |
| 129 | 新增: { | |
| 130 | 新增: var app = appData.GetApp(appId); | |
| 131 | 新增: app.CategoryID = category.ID; | |
| 132 | 新增: app.Category = category; | |
| 133 | 新增: appData.UpdateApp(app); | |
| 134 | 新增: | |
| 135 | 新增: main.Toast("操作已执行", Controls.Window.ToastType.Success); | |
| 136 | 新增: } | |
| 137 | 新增: | |
| 138 | 新增: | |
| 139 | 新增: | |
| 140 | 新增: private void OpenDir_Click(object sender, System.Windows.RoutedEventArgs e) | |
| 141 | 新增: { | |
| 142 | 新增: | |
| 143 | 新增: | |
| 144 | 新增: var data = menu.Tag as ChartsDataModel; | |
| 145 | 新增: | |
| 146 | 新增: var log = data.Data as DailyLogModel; | |
| 147 | 新增: | |
| 148 | 新增: var app = log.AppModel; | |
| 149 | 新增: | |
| 150 | 新增: if (File.Exists(app.File)) | |
| 151 | 新增: { | |
| 152 | 新增: System.Diagnostics.Process.Start("explorer.exe", "/select, " + app.File); | |
| 153 | 新增: } | |
| 154 | 新增: else | |
| 155 | 新增: { | |
| 156 | 新增: main.Toast("应用文件似乎不存在", Controls.Window.ToastType.Error, Controls.Base.IconTypes.Blocked); | |
| 157 | 新增: } | |
| 158 | 新增: } | |
| 159 | 新增: | |
| 160 | 新增: private void Run_Click(object sender, System.Windows.RoutedEventArgs e) | |
| 161 | 新增: { | |
| 162 | 新增: var data = menu.Tag as ChartsDataModel; | |
| 163 | 新增: | |
| 164 | 新增: var log = data.Data as DailyLogModel; | |
| 165 | 新增: | |
| 166 | 新增: var app = log.AppModel; | |
| 167 | 新增: | |
| 168 | 新增: if (File.Exists(app.File)) | |
| 169 | 新增: { | |
| 170 | 新增: System.Diagnostics.Process.Start(app.File); | |
| 171 | 新增: main.Toast("操作已执行", Controls.Window.ToastType.Info); | |
| 172 | 新增: | |
| 173 | 新增: } | |
| 174 | 新增: else | |
| 175 | 新增: { | |
| 176 | 新增: main.Toast("应用文件似乎不存在", Controls.Window.ToastType.Error, Controls.Base.IconTypes.Blocked); | |
| 177 | 新增: } | |
| 178 | 新增: } | |
| 179 | 新增: | |
| 180 | 新增: public ContextMenu GetContextMenu() | |
| 181 | 新增: { | |
| 182 | 新增: return menu; | |
| 183 | 新增: } | |
| 184 | 新增: | |
| 185 | 新增: | |
| 186 | 新增: } | |
| 187 | 新增:} | |
| @@ -0,0 +1,15 @@ | ||
| 1 | 新增:using System; | |
| 2 | 新增:using System.Collections.Generic; | |
| 3 | 新增:using System.Linq; | |
| 4 | 新增:using System.Text; | |
| 5 | 新增:using System.Threading.Tasks; | |
| 6 | 新增:using System.Windows.Controls; | |
| 7 | 新增: | |
| 8 | 新增:namespace UI.Servicers | |
| 9 | 新增:{ | |
| 10 | 新增: public interface IAppContextMenuServicer | |
| 11 | 新增: { | |
| 12 | 新增: void Init(); | |
| 13 | 新增: ContextMenu GetContextMenu(); | |
| 14 | 新增: } | |
| 15 | 新增:} | |
| @@ -180,6 +180,7 @@ | ||
| 180 | 180 | <Compile Include="Models\CategoryPageModel.cs" /> |
| 181 | 181 | <Compile Include="Models\Category\CategoryModel.cs" /> |
| 182 | 182 | <Compile Include="Models\ChartPageModel.cs" /> |
| 183 | 新增: <Compile Include="Models\ContextMenuItemModel.cs" /> | |
| 183 | 184 | <Compile Include="Models\DataPageModel.cs" /> |
| 184 | 185 | <Compile Include="Models\DetailPageModel.cs" /> |
| 185 | 186 | <Compile Include="Models\IndexPageModel.cs" /> |
| @@ -187,6 +188,8 @@ | ||
| 187 | 188 | <Compile Include="Models\ModelBase.cs" /> |
| 188 | 189 | <Compile Include="Models\SettingPageModel.cs" /> |
| 189 | 190 | <Compile Include="Models\UINotifyPropertyChanged.cs" /> |
| 191 | 新增: <Compile Include="Servicers\AppContextMenuServicer.cs" /> | |
| 192 | 新增: <Compile Include="Servicers\IAppContextMenuServicer.cs" /> | |
| 190 | 193 | <Compile Include="ViewModels\CategoryAppListPageVM.cs" /> |
| 191 | 194 | <Compile Include="ViewModels\CategoryPageVM.cs" /> |
| 192 | 195 | <Compile Include="ViewModels\ChartPageVM.cs" /> |
| @@ -10,6 +10,7 @@ using UI.Controls; | ||
| 10 | 10 | using UI.Controls.Charts.Model; |
| 11 | 11 | using UI.Controls.Select; |
| 12 | 12 | using UI.Models; |
| 13 | 新增:using UI.Servicers; | |
| 13 | 14 | using UI.Views; |
| 14 | 15 | |
| 15 | 16 | namespace UI.ViewModels |
| @@ -19,13 +20,16 @@ namespace UI.ViewModels | ||
| 19 | 20 | private readonly ICategorys categorys; |
| 20 | 21 | private readonly IData data; |
| 21 | 22 | private readonly MainViewModel mainVM; |
| 23 | 新增: private readonly IAppContextMenuServicer appContextMenuServicer; | |
| 24 | 新增: | |
| 22 | 25 | public Command ToDetailCommand { get; set; } |
| 23 | 26 | |
| 24 | 删除: public ChartPageVM(IData data, ICategorys categorys, MainViewModel mainVM) | |
| 27 | 新增: public ChartPageVM(IData data, ICategorys categorys, MainViewModel mainVM, IAppContextMenuServicer appContextMenuServicer) | |
| 25 | 28 | { |
| 26 | 29 | this.data = data; |
| 27 | 30 | this.categorys = categorys; |
| 28 | 31 | this.mainVM = mainVM; |
| 32 | 新增: this.appContextMenuServicer = appContextMenuServicer; | |
| 29 | 33 | |
| 30 | 34 | |
| 31 | 35 | ToDetailCommand = new Command(new Action<object>(OnTodetailCommand)); |
| @@ -60,6 +64,8 @@ namespace UI.ViewModels | ||
| 60 | 64 | LoadDayData(); |
| 61 | 65 | |
| 62 | 66 | PropertyChanged += ChartPageVM_PropertyChanged; |
| 67 | 新增: | |
| 68 | 新增: AppContextMenu = appContextMenuServicer.GetContextMenu(); | |
| 63 | 69 | } |
| 64 | 70 | public override void Dispose() |
| 65 | 71 | { |
| @@ -13,6 +13,7 @@ using System.Windows.Media.Imaging; | ||
| 13 | 13 | using UI.Controls; |
| 14 | 14 | using UI.Controls.Charts.Model; |
| 15 | 15 | using UI.Models; |
| 16 | 新增:using UI.Servicers; | |
| 16 | 17 | using UI.Views; |
| 17 | 18 | |
| 18 | 19 | namespace UI.ViewModels |
| @@ -22,10 +23,13 @@ namespace UI.ViewModels | ||
| 22 | 23 | public Command ToDetailCommand { get; set; } |
| 23 | 24 | private readonly IData data; |
| 24 | 25 | private readonly MainViewModel main; |
| 25 | 删除: public DataPageVM(IData data, MainViewModel main) | |
| 26 | 新增: private readonly IAppContextMenuServicer appContextMenuServicer; | |
| 27 | 新增: | |
| 28 | 新增: public DataPageVM(IData data, MainViewModel main, IAppContextMenuServicer appContextMenuServicer) | |
| 26 | 29 | { |
| 27 | 30 | this.data = data; |
| 28 | 31 | this.main = main; |
| 32 | 新增: this.appContextMenuServicer = appContextMenuServicer; | |
| 29 | 33 | |
| 30 | 34 | ToDetailCommand = new Command(new Action<object>(OnTodetailCommand)); |
| 31 | 35 | |
| @@ -45,10 +49,12 @@ namespace UI.ViewModels | ||
| 45 | 49 | |
| 46 | 50 | TabbarData = new System.Collections.ObjectModel.ObservableCollection<string>() |
| 47 | 51 | { |
| 48 | 删除: "按天查看","按月查看","按年查看" | |
| 52 | 新增: "按天","按月","按年" | |
| 49 | 53 | }; |
| 50 | 54 | |
| 51 | 55 | TabbarSelectedIndex = 0; |
| 56 | 新增: | |
| 57 | 新增: AppContextMenu = appContextMenuServicer.GetContextMenu(); | |
| 52 | 58 | } |
| 53 | 59 | |
| 54 | 60 | private void OnTodetailCommand(object obj) |
| @@ -14,6 +14,7 @@ using System.Windows.Media.Imaging; | ||
| 14 | 14 | using UI.Controls; |
| 15 | 15 | using UI.Controls.Charts.Model; |
| 16 | 16 | using UI.Models; |
| 17 | 新增:using UI.Servicers; | |
| 17 | 18 | using UI.Views; |
| 18 | 19 | |
| 19 | 20 | namespace UI.ViewModels |
| @@ -24,13 +25,15 @@ namespace UI.ViewModels | ||
| 24 | 25 | private readonly IData data; |
| 25 | 26 | private readonly MainViewModel main; |
| 26 | 27 | private readonly IMain mainServicer; |
| 28 | 新增: private readonly IAppContextMenuServicer appContextMenuServicer; | |
| 27 | 29 | |
| 28 | 30 | public IndexPageVM( |
| 29 | 删除: IData data, MainViewModel main, IMain mainServicer) | |
| 31 | 新增: IData data, MainViewModel main, IMain mainServicer, IAppContextMenuServicer appContextMenuServicer) | |
| 30 | 32 | { |
| 31 | 33 | this.data = data; |
| 32 | 34 | this.main = main; |
| 33 | 35 | this.mainServicer = mainServicer; |
| 36 | 新增: this.appContextMenuServicer = appContextMenuServicer; | |
| 34 | 37 | |
| 35 | 38 | ToDetailCommand = new Command(new Action<object>(OnTodetailCommand)); |
| 36 | 39 | |
| @@ -56,6 +59,9 @@ namespace UI.ViewModels | ||
| 56 | 59 | PropertyChanged += IndexPageVM_PropertyChanged; |
| 57 | 60 | |
| 58 | 61 | LoadThisWeekData(); |
| 62 | 新增: | |
| 63 | 新增: appContextMenuServicer.Init(); | |
| 64 | 新增: AppContextMenu = appContextMenuServicer.GetContextMenu(); | |
| 59 | 65 | } |
| 60 | 66 | |
| 61 | 67 | private void OnTodetailCommand(object obj) |
| @@ -45,7 +45,7 @@ | ||
| 45 | 45 | </Border> |
| 46 | 46 | <TextBlock Text="最为频繁的应用" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/> |
| 47 | 47 | <Border Margin="0,10,0,0" Width="680" HorizontalAlignment="Left" Background="White" Padding="20" CornerRadius="10"> |
| 48 | 删除: <charts:Charts Height="300" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}"/> | |
| 48 | 新增: <charts:Charts Height="300" ItemMenu="{Binding AppContextMenu}" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}"/> | |
| 49 | 49 | </Border> |
| 50 | 50 | </StackPanel> |
| 51 | 51 | </Page> |
| @@ -17,7 +17,7 @@ | ||
| 17 | 17 | </Grid.RowDefinitions> |
| 18 | 18 | <TextBlock Text="详细" FontSize="18" Margin="0,5,0,20"/> |
| 19 | 19 | |
| 20 | 删除: <Tabbar:Tabbar Width="245" HorizontalAlignment="Left" Grid.Row="1" Data="{Binding TabbarData}" SelectedIndex="{Binding TabbarSelectedIndex,Mode=TwoWay}"/> | |
| 20 | 新增: <Tabbar:Tabbar Width="145" HorizontalAlignment="Left" Grid.Row="1" Data="{Binding TabbarData}" SelectedIndex="{Binding TabbarSelectedIndex,Mode=TwoWay}"/> | |
| 21 | 21 | |
| 22 | 22 | |
| 23 | 23 | <TabControl |
| @@ -48,7 +48,7 @@ | ||
| 48 | 48 | </Grid.RowDefinitions> |
| 49 | 49 | <DatePickerBar:DatePickerBar SelectedDate="{Binding DayDate,Mode=TwoWay}" ShowType="Day"/> |
| 50 | 50 | |
| 51 | 删除: <Charts:Charts Grid.Row="1" Data="{Binding Data}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/> | |
| 51 | 新增: <Charts:Charts Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding Data}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/> | |
| 52 | 52 | </Grid> |
| 53 | 53 | </TabItem> |
| 54 | 54 | <TabItem> |
| @@ -60,7 +60,7 @@ | ||
| 60 | 60 | </Grid.RowDefinitions> |
| 61 | 61 | <DatePickerBar:DatePickerBar SelectedDate="{Binding MonthDate,Mode=TwoWay}" ShowType="Month"/> |
| 62 | 62 | |
| 63 | 删除: <Charts:Charts Grid.Row="1" Data="{Binding MonthData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/> | |
| 63 | 新增: <Charts:Charts Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding MonthData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/> | |
| 64 | 64 | </Grid> |
| 65 | 65 | </TabItem> |
| 66 | 66 | <TabItem> |
| @@ -72,7 +72,7 @@ | ||
| 72 | 72 | </Grid.RowDefinitions> |
| 73 | 73 | <DatePickerBar:DatePickerBar SelectedDate="{Binding YearDate,Mode=TwoWay}" ShowType="Year"/> |
| 74 | 74 | |
| 75 | 删除: <Charts:Charts Grid.Row="1" Data="{Binding YearData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/> | |
| 75 | 新增: <Charts:Charts Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding YearData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/> | |
| 76 | 76 | </Grid> |
| 77 | 77 | </TabItem> |
| 78 | 78 | </TabControl> |
| @@ -25,9 +25,9 @@ | ||
| 25 | 25 | <TextBlock Text="概览" FontSize="18" Margin="0,5,0,20"/> |
| 26 | 26 | <Tabbar:Tabbar Width="100" HorizontalAlignment="Left" Data="{Binding TabbarData}" SelectedIndex="{Binding TabbarSelectedIndex,Mode=TwoWay}"/> |
| 27 | 27 | <TextBlock Text="最为频繁" FontSize="15" Margin="0,20,0,10"/> |
| 28 | 删除: <Charts:Charts IsCanScroll="False" Height="180" Data="{Binding WeekData}" ChartsType="HorizontalA" ShowLimit="3" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/> | |
| 28 | 新增: <Charts:Charts IsCanScroll="False" Height="180" Data="{Binding WeekData}" ChartsType="HorizontalA" ShowLimit="3" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}" ItemMenu="{Binding AppContextMenu}"/> | |
| 29 | 29 | <TextBlock Text="更多" FontSize="15" Margin="0,20,0,10"/> |
| 30 | 删除: <Charts:Charts Data="{Binding WeekData}" ChartsType="Card" ShowLimit="12" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/> | |
| 30 | 新增: <Charts:Charts Data="{Binding WeekData}" ItemMenu="{Binding AppContextMenu}" ChartsType="Card" ShowLimit="12" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/> | |
| 31 | 31 | |
| 32 | 32 | |
| 33 | 33 | </StackPanel> |

