packages/MaterialDesignThemes.2.5.1/src/net45/Clock.cs

(开头部分) 21KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using MaterialDesignThemes.Wpf.Converters;
using MaterialDesignThemes.Wpf.Transitions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Input;

namespace MaterialDesignThemes.Wpf
{
    public enum ClockDisplayMode
    {
        Hours,
        Minutes,
        Seconds,
    }

    public enum ClockDisplayAutomation
    {
        None,
        Cycle,
        ToMinutesOnly,
        ToSeconds,
        CycleWithSeconds,
    }

    [TemplatePart(Name = HoursCanvasPartName, Type = typeof(Canvas))]
    [TemplatePart(Name = MinutesCanvasPartName, Type = typeof(Canvas))]
    [TemplatePart(Name = SecondsCanvasPartName, Type = typeof(Canvas))]
    [TemplatePart(Name = MinuteReadOutPartName, Type = typeof(TextBlock))]
    [TemplatePart(Name = HourReadOutPartName, Type = typeof(TextBlock))]
    [TemplateVisualState(GroupName = "DisplayModeStates", Name = HoursVisualStateName)]
    [TemplateVisualState(GroupName = "DisplayModeStates", Name = MinutesVisualStateName)]
    public class Clock : Control
    {
        public const string HoursCanvasPartName = "PART_HoursCanvas";
        public const string MinutesCanvasPartName = "PART_MinutesCanvas";
        public const string SecondsCanvasPartName = "PART_SecondsCanvas";
        public const string MinuteReadOutPartName = "PART_MinuteReadOut";
        public const string SecondReadOutPartName = "PART_SecondReadOut";
        public const string HourReadOutPartName = "PART_HourReadOut";

        public const string HoursVisualStateName = "Hours";
        public const string MinutesVisualStateName = "Minutes";
        public const string SecondsVisualStateName = "Seconds";

        private Point _centreCanvas = new Point(0, 0);
        private Point _currentStartPosition = new Point(0, 0);
        private TextBlock _hourReadOutPartName;
        private TextBlock _minuteReadOutPartName;
        private TextBlock _secondReadOutPartName;

        static Clock()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(Clock), new FrameworkPropertyMetadata(typeof(Clock)));
        }

后面还有 406 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。