跳到主要内容

github/tai

公开

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

提交记录
修改UI/Controls/Select/DateSelect.cs+49 −12看文件
@@ -15,6 +15,31 @@ using UI.Controls.DatePickerBar;
1515
1616namespace UI.Controls.Select
1717{
18新增: public class DayModel
19新增: {
20新增: public DateTime Day { get; set; }
21新增: public string DayText
22新增: {
23新增: get
24新增: {
25新增: return Day.Day.ToString();
26新增: }
27新增: }
28新增: public bool IsToday
29新增: {
30新增: get
31新增: {
32新增: return Day.Date == DateTime.Now.Date;
33新增: }
34新增: }
35新增: public bool IsOut
36新增: {
37新增: get
38新增: {
39新增: return Day.Date > DateTime.Now.Date;
40新增: }
41新增: }
42新增: }
1843 public class DateSelect : Control
1944 {
2045 public DateSelectType SelectType
@@ -62,14 +87,14 @@ namespace UI.Controls.Select
6287 typeof(DateSelect)
6388 );
6489
65删除: public string Day
90新增: public DayModel Day
6691 {
67删除: get { return (string)GetValue(DayProperty); }
92新增: get { return (DayModel)GetValue(DayProperty); }
6893 set { SetValue(DayProperty, value); }
6994 }
7095 public static readonly DependencyProperty DayProperty =
7196 DependencyProperty.Register("Day",
72删除: typeof(string),
97新增: typeof(DayModel),
7398 typeof(DateSelect)
7499 );
75100 public string DateStr
@@ -82,14 +107,14 @@ namespace UI.Controls.Select
82107 typeof(string),
83108 typeof(DateSelect)
84109 );
85删除: public List<string> Days
110新增: public List<DayModel> Days
86111 {
87删除: get { return (List<string>)GetValue(DaysProperty); }
112新增: get { return (List<DayModel>)GetValue(DaysProperty); }
88113 set { SetValue(DaysProperty, value); }
89114 }
90115 public static readonly DependencyProperty DaysProperty =
91116 DependencyProperty.Register("Days",
92删除: typeof(List<string>),
117新增: typeof(List<DayModel>),
93118 typeof(DateSelect)
94119 );
95120
@@ -122,6 +147,7 @@ namespace UI.Controls.Select
122147
123148 private bool IsFirstClick = false;
124149 private Border SelectContainer;
150新增: private DateTime SelectedDay;
125151 public DateSelect()
126152 {
127153 DefaultStyleKey = typeof(DateSelect);
@@ -137,7 +163,12 @@ namespace UI.Controls.Select
137163
138164 Month = Date.Month;
139165
140删除: Day = Date.Day.ToString();
166新增: //Day = new DayModel()
167新增: //{
168新增: // Day = Date.Date,
169新增: //};
170新增:
171新增: SelectedDay = Date.Date;
141172
142173 mouseProc = HookCallback;
143174
@@ -200,7 +231,12 @@ namespace UI.Controls.Select
200231 }
201232 private void OnDone(object obj)
202233 {
203删除: Date = new DateTime(Year, Month, int.Parse(Day));
234新增:
235新增: Date = new DateTime(Year, Month, Day != null ? int.Parse(Day.DayText) : 1);
236新增: if (Day != null)
237新增: {
238新增: SelectedDay = Day.Day;
239新增: }
204240
205241 UpdateDateStr();
206242
@@ -216,7 +252,7 @@ namespace UI.Controls.Select
216252 }
217253 Month = newMonth;
218254
219删除: Day = "1";
255新增: //Day = new DayModel() { Day = new DateTime(Year, Month, 1).Date };
220256
221257 UpdateDays();
222258
@@ -232,7 +268,7 @@ namespace UI.Controls.Select
232268 }
233269 Year = newYear;
234270
235删除: Day = "1";
271新增: //Day = new DayModel() { Day = new DateTime(Year, Month, 1).Date };
236272
237273 UpdateDays();
238274 }
@@ -269,14 +305,15 @@ namespace UI.Controls.Select
269305
270306 private void UpdateDays()
271307 {
272删除: var list = new List<string>();
308新增: var list = new List<DayModel>();
273309 int days = DateTime.DaysInMonth(Year, Month);
274310 for (int i = 1; i < days + 1; i++)
275311 {
276删除: list.Add(i.ToString());
312新增: list.Add(new DayModel() { Day = new DateTime(Year, Month, i).Date });
277313 }
278314 Days = list;
279315
316新增: Day = list.Where(m => m.Day == SelectedDay).FirstOrDefault();
280317 }
281318
282319 private void UpdateDateStr()
修改UI/Themes/Select/DateSelect.xaml+17 −3看文件
@@ -24,7 +24,7 @@
2424 <Border.InputBindings>
2525 <MouseBinding Gesture="LeftClick" Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:DateSelect}}, Path=ShowSelectCommand}"/>
2626 </Border.InputBindings>
27删除:
27新增:
2828 <StackPanel Orientation="Horizontal">
2929 <base:Icon x:Name="Icon" IconType="DateTime"/>
3030 <TextBlock Foreground="#1a1a1a" Text="{TemplateBinding DateStr}" VerticalAlignment="Center" Margin="5,0,0,0"/>
@@ -111,6 +111,15 @@
111111 <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>
112112 </Border>
113113 <ControlTemplate.Triggers>
114新增: <DataTrigger Binding="{Binding IsOut}" Value="True">
115新增: <Setter Property="Foreground" Value="#ccc"/>
116新增: <Setter Property="IsEnabled" Value="False"/>
117新增: </DataTrigger>
118新增: <DataTrigger Binding="{Binding IsToday}" Value="True">
119新增: <Setter TargetName="Border" Property="Background" Value="#FFF2F1FF"/>
120新增: <Setter Property="Foreground" Value="#2b20d9"/>
121新增:
122新增: </DataTrigger>
114123 <Trigger Property="IsMouseOver" Value="True">
115124 <Setter TargetName="Border" Property="Background" Value="#FFE8E6FF"/>
116125 <!--<Setter TargetName="Border" Property="BorderBrush" Value="#2b20d9"/>-->
@@ -140,12 +149,17 @@
140149
141150 <WrapPanel Orientation="Horizontal">
142151 <Border >
143删除:
144删除: <TextBlock Text="{Binding}" />
152新增: <!--<Grid>
153新增: <base:View Value="{Binding IsToday}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-5,-5,0">
154新增: <Rectangle RadiusX="10" RadiusY="10" Width="5" Height="5" Fill="Red"></Rectangle>
155新增: </base:View>
156新增: </Grid>-->
157新增: <TextBlock Text="{Binding DayText}" />
145158
146159 </Border>
147160
148161 </WrapPanel>
162新增:
149163 </DataTemplate>
150164 </ListView.ItemTemplate>
151165 </ListView>