Skip to content

Commit

Permalink
设置中添加TimePicker选项的时间间隔调整
Browse files Browse the repository at this point in the history
  • Loading branch information
huuhghhgyg committed Apr 17, 2022
1 parent 6146318 commit 4af7dbc
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 5 deletions.
7 changes: 5 additions & 2 deletions Chamberlain_UWP/Reminder/ReminderItemsManagePage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
Margin="0,12,0,0"/>
<TimePicker Header="到期时间"
Name="AddItemTimePicker"
MinuteIncrement="{x:Bind TimepickerInterval, Mode=OneWay}"
Margin="0,12,0,0"/>
<!--标签-->
<StackPanel>
Expand Down Expand Up @@ -197,7 +198,7 @@
<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="&#xE72C;" />
</Button>
</Grid>
<ListView Name="RemindItemListView" Margin="0,8,0,0" ItemsSource="{x:Bind ReminderList,Mode=OneWay}"
<ListView Name="RemindItemListView" Margin="0,8,0,0" ItemsSource="{x:Bind ReminderList, Mode=OneWay}"
SelectionChanged="RemindItemListView_SelectionChanged"
ItemTemplate="{StaticResource ReminderItemViewTemplate}">
<ListView.Resources>
Expand Down Expand Up @@ -227,7 +228,9 @@
PlaceholderText="Deadline日期"
Header="Deadline日期"
Margin="0,12,0,0"/>
<TimePicker Name="ItemReviseTimePicker" Header="Deadline时间" Margin="0,12,0,0"/>
<TimePicker Name="ItemReviseTimePicker" Header="Deadline时间"
MinuteIncrement="{x:Bind TimepickerInterval, Mode=OneWay}"
Margin="0,12,0,0"/>
<ComboBox Header="优先级" Name="ItemRevisePriorityComboBox" Margin="0,12,0,0" SelectedIndex="0">
<x:String>默认</x:String>
<x:String>中</x:String>
Expand Down
19 changes: 18 additions & 1 deletion Chamberlain_UWP/Reminder/ReminderItemsManagePage.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
using Chamberlain_UWP.Settings;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading;
using Windows.Foundation;
Expand All @@ -22,13 +25,24 @@ namespace Chamberlain_UWP.Reminder
/// <summary>
/// 可用于自身或导航至 Frame 内部的空白页。
/// </summary>
public sealed partial class ReminderItemsManagePage : Page
public sealed partial class ReminderItemsManagePage : Page, INotifyPropertyChanged
{
ObservableCollection<string> TagList = new ObservableCollection<string>(); // 标签列表
ObservableCollection<ReminderItem> ReminderList = new ObservableCollection<ReminderItem>(); // 所有reminder的列表

bool IsPageAlive = true; // 确认页面是否被Unload
bool IsProgressUpdaterWorking = false; // 进程锁,防止多次创建进程
private int TimepickerInterval
{
get { return SettingsConfig.TimepickerInterval; }
set { SettingsConfig.TimepickerInterval = value; }
}

public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}

public ReminderItemsManagePage()
{
Expand All @@ -55,6 +69,8 @@ protected override void OnNavigatedTo(NavigationEventArgs e)
private void UI_Initialize()
{
AddItemDatePicker.Date = DateTime.Today; // 将添加项的时间设为今天,方便添加
TimepickerInterval = SettingsConfig.TimepickerInterval;
NotifyPropertyChanged("TimepickerInterval");
}

private async void RefreshData()
Expand Down Expand Up @@ -137,6 +153,7 @@ private void RemindItemListView_SelectionChanged(object sender, SelectionChanged
}

int revise_num = 0;

private void ModifyItemButton_Click(object sender, RoutedEventArgs e)
{
int index = RemindItemListView.SelectedIndex; //找到RemindItemListView中选择的元素下标
Expand Down
13 changes: 11 additions & 2 deletions Chamberlain_UWP/Settings/SettingsConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ public static void InitialLoad()
IsNotificationBlockingVisible = (cache == null) ? false : (bool)cache; //是否显示通知阻塞信息,默认关闭

cache = roaming_settings ? roamingSettings.Values["UpdateTriggerInterval"] : localSettings.Values["UpdateTriggerInterval"];
UpdateTriggerInterval = (cache == null) ? 15 : (int)cache;; //通知更新间隔,最小、默认=15
UpdateTriggerInterval = (cache == null) ? 15 : (int)cache; ; //通知更新间隔,最小、默认=15

cache = localSettings.Values["TimepickerInterval"];
TimepickerInterval = (cache == null) ? 1 : (int)cache; ; //时间选择器时间间隔,最小、默认=1
}

/// <summary>
Expand All @@ -42,6 +45,7 @@ public static void InitialLoad()
private static bool _isNotificationEnabled;
private static bool _isSettingsRoamingEnabled;
private static bool _isNotificationBlockingVisible;
private static int _timepickerInterval;

public static bool IsSettingsRoamingEnabled //是否允许设置漫游,不允许添加到漫游设置中!
{
Expand Down Expand Up @@ -69,6 +73,11 @@ public static bool IsNotificationBlockingVisible //是否显示线程阻塞信
get { return _isNotificationBlockingVisible; }
set { _isNotificationBlockingVisible = value; SaveSetting(value, "IsNotificationBlockingVisible", true); }
}
public static int TimepickerInterval
{
get { return _timepickerInterval; }
set { _timepickerInterval = value; SaveSetting(value, "TimepickerInterval", false); }
}

/// <summary>
/// 公共变量
Expand All @@ -92,4 +101,4 @@ public static void SaveAllRoaming() //允许设置漫游时执行,将所有可
}
//取消漫游时不需要额外执行,取消后做的更改不会再漫游
}
}
}
10 changes: 10 additions & 0 deletions Chamberlain_UWP/Settings/SettingsPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,16 @@
<!--设置面板-->
<StackPanel x:Name="LayoutPanel" Margin="48,0,48,48" Grid.Row="1">
<!--应用设置-->
<TextBlock Text="易用性设置" Style="{StaticResource SubtitleTextBlockStyle}"/>
<StackPanel Margin="0,0,0,24">
<muxc:NumberBox Name="TimepickerIntervalComboBox" Header="时间选择器选项间隔(分钟)"
SpinButtonPlacementMode="Inline"
HorizontalAlignment="Left"
SmallChange="1" LargeChange="100" Minimum="1" Maximum="30"
Width="200" Margin="0,12,0,0"
Text="{x:Bind TimepickerInterval, Mode=TwoWay}"/>
</StackPanel>

<TextBlock Text="后台任务" Style="{StaticResource SubtitleTextBlockStyle}"/>
<StackPanel Margin="0,0,0,24">
<muxc:NumberBox Name="TriggerSpanComboBox" Header="后台唤醒间隔(分钟)"
Expand Down
6 changes: 6 additions & 0 deletions Chamberlain_UWP/Settings/SettingsPage.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,12 @@ private bool IsNotificationBlockingVisible
get { return SettingsConfig.IsNotificationBlockingVisible; }
set { SettingsConfig.IsNotificationBlockingVisible = value; }
}
private int TimepickerInterval
{
get { return SettingsConfig.TimepickerInterval; }
set { SettingsConfig.TimepickerInterval = value; }
}

//数据漫游
private bool IsSettingsRoamingEnabled
{
Expand Down

0 comments on commit 4af7dbc

Please sign in to comment.