support for .NET framework 3.5

Still have bugs
This commit is contained in:
NaBian committed 2019-01-21 00:43:10 +08:00
1 parent 5878039e21
commit 7d6b491f25
704 files changed
+48273 -33

No files matched your search

@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Threading;
namespace HandyControl.Controls
{
public class FlipClock : Control
{
public static readonly DependencyProperty NumberListProperty = DependencyProperty.Register(
"NumberList", typeof(List<int>), typeof(FlipClock), new PropertyMetadata(new List<int> {0, 0, 0, 0, 0, 0}));
public List<int> NumberList
{
get => (List<int>) GetValue(NumberListProperty);
set => SetValue(NumberListProperty, value);
}
public static readonly DependencyProperty DisplayTimeProperty = DependencyProperty.Register(
"DisplayTime", typeof(DateTime), typeof(FlipClock), new PropertyMetadata(default(DateTime), OnDisplayTimeChanged));
private static void OnDisplayTimeChanged(DependencyObject s, DependencyPropertyChangedEventArgs e)
{
var ctl = (FlipClock) s;
var v = (DateTime) e.NewValue;
ctl.NumberList = new List<int>
{
v.Hour / 10,
v.Hour % 10,
v.Minute / 10,
v.Minute % 10,
v.Second / 10,
v.Second % 10
};
}
public DateTime DisplayTime
{
get => (DateTime) GetValue(DisplayTimeProperty);
set => SetValue(DisplayTimeProperty, value);
}
public FlipClock()
{
var dispatcherTimer = new DispatcherTimer
{
Interval = TimeSpan.FromMilliseconds(200)
};
dispatcherTimer.Tick += DispatcherTimer_Tick;
dispatcherTimer.Start();
}
private void DispatcherTimer_Tick(object sender, EventArgs e) => DisplayTime = DateTime.Now;
}
}