packages/MaterialDesignThemes.2.5.1/src/net45/TimePicker.cs
(开头部分) 20KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Globalization;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Threading;
using MaterialDesignThemes.Wpf.Converters;
namespace MaterialDesignThemes.Wpf
{
[TemplatePart(Name = ButtonPartName, Type = typeof(Button))]
[TemplatePart(Name = PopupPartName, Type = typeof(Popup))]
[TemplatePart(Name = TextBoxPartName, Type = typeof(TextBox))]
public class TimePicker : Control
{
public const string ButtonPartName = "PART_Button";
public const string PopupPartName = "PART_Popup";
public const string TextBoxPartName = "PART_TextBox";
private readonly ContentControl _clockHostContentControl;
private readonly Clock _clock;
private TextBox _textBox;
private Popup _popup;
private Button _dropDownButton;
private bool _disablePopupReopen;
private DateTime? _lastValidTime;
private bool _isManuallyMutatingText;
static TimePicker()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(TimePicker), new FrameworkPropertyMetadata(typeof(TimePicker)));
}
public TimePicker()
{
_clock = new Clock {
DisplayAutomation = ClockDisplayAutomation.ToMinutesOnly
};
_clockHostContentControl = new ContentControl {
Content = _clock
};
InitializeClock();
}
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
nameof(Text), typeof(string), typeof(TimePicker), new FrameworkPropertyMetadata(default(string), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, TextPropertyChangedCallback));
private static void TextPropertyChangedCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
var timePicker = (TimePicker)dependencyObject;
if (!timePicker._isManuallyMutatingText)
timePicker.SetSelectedTime();
if (timePicker._textBox != null)
timePicker._textBox.Text = dependencyPropertyChangedEventArgs.NewValue as string ?? "";
}
public string Text
后面还有 481 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。