跳到主要内容

github/tai

公开

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

提交记录
新增UI/Controls/Base/CheckBox.cs+32 −0看文件
@@ -0,0 +1,32 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Text;
4新增:using System.Windows;
5新增:using System.Windows.Controls;
6新增:using System.Windows.Media;
7新增:
8新增:namespace UI.Controls.Base
9新增:{
10新增: public class CheckBox : Control
11新增: {
12新增: public bool IsChecked
13新增: {
14新增: get { return (bool)GetValue(IsCheckedProperty); }
15新增: set { SetValue(IsCheckedProperty, value); }
16新增: }
17新增: public static readonly DependencyProperty IsCheckedProperty =
18新增: DependencyProperty.Register("IsChecked",
19新增: typeof(bool),
20新增: typeof(CheckBox), new PropertyMetadata(false, new PropertyChangedCallback(OnPropertyChanged)));
21新增:
22新增: private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
23新增: {
24新增:
25新增: }
26新增:
27新增: public CheckBox()
28新增: {
29新增: DefaultStyleKey = typeof(CheckBox);
30新增: }
31新增: }
32新增:}
修改UI/Controls/Base/IconConverter.cs+5 −0看文件
@@ -118,6 +118,11 @@ namespace UI.Controls.Base
118118 {IconTypes.Blocked,"\xE733"},
119119 {IconTypes.Remove,"\xE738"},
120120 {IconTypes.Chart,"\xE999"},
121新增: {IconTypes.Forward,"\xE72A"},
122新增: {IconTypes.FileImage,"\xF311"},
123新增: {IconTypes.CriticalErrorSolid,"\xF5C9"},
124新增: {IconTypes.TagGroup,"\xE3F6"},
125新增: {IconTypes.ClipboardListMirrored,"\xF0E4"},
121126
122127
123128 };
修改UI/Controls/Base/IconTypes.cs+6 −1看文件
@@ -141,6 +141,11 @@ namespace UI.Controls.Base
141141 Preview,
142142 Blocked,
143143 Remove,
144删除: Chart
144新增: Chart,
145新增: Forward,
146新增: FileImage,
147新增: CriticalErrorSolid,
148新增: TagGroup,
149新增: ClipboardListMirrored
145150 }
146151}
新增UI/Controls/Base/Img.cs+65 −0看文件
@@ -0,0 +1,65 @@
1新增:using Core.Librarys.Image;
2新增:using System;
3新增:using System.Collections.Generic;
4新增:using System.Linq;
5新增:using System.Text;
6新增:using System.Threading.Tasks;
7新增:using System.Windows;
8新增:using System.Windows.Controls;
9新增:using System.Windows.Data;
10新增:using System.Windows.Documents;
11新增:using System.Windows.Input;
12新增:using System.Windows.Media;
13新增:using System.Windows.Media.Imaging;
14新增:using System.Windows.Navigation;
15新增:using System.Windows.Shapes;
16新增:
17新增:namespace UI.Controls.Base
18新增:{
19新增: public class Img : Control
20新增: {
21新增: /// <summary>
22新增: /// 图片链接
23新增: /// </summary>
24新增: public string URL
25新增: {
26新增: get { return (string)GetValue(URLProperty); }
27新增: set { SetValue(URLProperty, value); }
28新增: }
29新增: public static readonly DependencyProperty URLProperty =
30新增: DependencyProperty.Register("URL",
31新增: typeof(string),
32新增: typeof(Img), new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
33新增:
34新增: private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
35新增: {
36新增: var control = (d as Img);
37新增: if (e.Property == URLProperty && e.OldValue != e.NewValue)
38新增: {
39新增: control.Render();
40新增: }
41新增: }
42新增:
43新增: private Image _image;
44新增: public Img()
45新增: {
46新增: DefaultStyleKey = typeof(Img);
47新增: }
48新增:
49新增: public override void OnApplyTemplate()
50新增: {
51新增: base.OnApplyTemplate();
52新增: _image = GetTemplateChild("image") as Image;
53新增: Render();
54新增: }
55新增:
56新增: private void Render()
57新增: {
58新增: if (_image == null)
59新增: {
60新增: return;
61新增: }
62新增: _image.Source = Imager.Load(URL);
63新增: }
64新增: }
65新增:}
新增UI/Controls/Base/Text.cs+64 −0看文件
@@ -0,0 +1,64 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:using System.Windows;
7新增:using System.Windows.Controls;
8新增:
9新增:namespace UI.Controls.Base
10新增:{
11新增: public class Text : Control
12新增: {
13新增: public string Content
14新增: {
15新增: get { return (string)GetValue(ContentProperty); }
16新增: set { SetValue(ContentProperty, value); }
17新增: }
18新增: public static readonly DependencyProperty ContentProperty =
19新增: DependencyProperty.Register("Content",
20新增: typeof(string),
21新增: typeof(Text));
22新增: public bool Value
23新增: {
24新增: get { return (bool)GetValue(ValueProperty); }
25新增: set { SetValue(ValueProperty, value); }
26新增: }
27新增: public static readonly DependencyProperty ValueProperty =
28新增: DependencyProperty.Register("Value",
29新增: typeof(bool),
30新增: typeof(Text), new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
31新增:
32新增: private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
33新增: {
34新增: Text c = (Text)d;
35新增:
36新增: c.SetContent();
37新增:
38新增: }
39新增:
40新增: public string Content_ { get; set; }
41新增: public Text()
42新增: {
43新增: DefaultStyleKey = typeof(Text);
44新增: }
45新增:
46新增: public override void OnApplyTemplate()
47新增: {
48新增: base.OnApplyTemplate();
49新增: SetContent();
50新增: }
51新增:
52新增: private void SetContent()
53新增: {
54新增: if (string.IsNullOrEmpty(Content) || Content.IndexOf('?') == -1 || Content.IndexOf(':') == -1)
55新增: {
56新增: return;
57新增: }
58新增:
59新增: string yes = Content.Substring(Content.IndexOf('?') + 1, Content.IndexOf(':') - 1);
60新增: string no = Content.Substring(Content.IndexOf(':') + 1);
61新增: Content_ = Value ? yes : no;
62新增: }
63新增: }
64新增:}
修改UI/Controls/Button/Button.cs+45 −10看文件
@@ -21,20 +21,55 @@ namespace UI.Controls.Button
2121 DependencyProperty.Register("Icon",
2222 typeof(IconTypes),
2323 typeof(Button), new PropertyMetadata(IconTypes.None));
24新增:
25新增: public string Text
26新增: {
27新增: get { return (string)GetValue(TextProperty); }
28新增: set { SetValue(TextProperty, value); }
29新增: }
30新增: public static readonly DependencyProperty TextProperty =
31新增: DependencyProperty.Register("Text",
32新增: typeof(string),
33新增: typeof(Button));
34新增: public bool Value
35新增: {
36新增: get { return (bool)GetValue(ValueProperty); }
37新增: set { SetValue(ValueProperty, value); }
38新增: }
39新增: public static readonly DependencyProperty ValueProperty =
40新增: DependencyProperty.Register("Value",
41新增: typeof(bool),
42新增: typeof(Button), new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
43新增:
44新增: private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
45新增: {
46新增: Button button = (Button)d;
47新增:
48新增: button.SetContent();
49新增:
50新增: }
51新增:
2452 public Button()
2553 {
2654 DefaultStyleKey = typeof(Button);
2755 }
2856
29删除: //protected override void OnMouseEnter(MouseEventArgs e)
30删除: //{
31删除: // base.OnMouseEnter(e);
32删除: // VisualStateManager.GoToState(this, "MouseOver", true);
33删除: //}
34删除: //protected override void OnMouseLeave(MouseEventArgs e)
35删除: //{
36删除: // base.OnMouseLeave(e);
37删除: // VisualStateManager.GoToState(this, "Normal", true);
38删除: //}
57新增: public override void OnApplyTemplate()
58新增: {
59新增: base.OnApplyTemplate();
60新增: SetContent();
61新增: }
62新增:
63新增: private void SetContent()
64新增: {
65新增: if (string.IsNullOrEmpty(Text) || Text.IndexOf('?') == -1 || Text.IndexOf(':') == -1)
66新增: {
67新增: return;
68新增: }
69新增:
70新增: string yes = Text.Substring(Text.IndexOf('?') + 1, Text.IndexOf(':') - 1);
71新增: string no = Text.Substring(Text.IndexOf(':') + 1);
72新增: Content = Value ? yes : no;
73新增: }
3974 }
4075}
修改UI/Controls/Charts/ChartsItemTypeA.cs+5 −5看文件
@@ -109,11 +109,11 @@ namespace UI.Controls.Charts
109109 isRendering = true;
110110 NameTextObj.Text = Data.Name;
111111 //对部分程序未获取程序名的程序使用路径中名字作为程序名
112删除: if (Data.Name.Trim() == "" && Data.PopupText.Trim() != "")
113删除: {
114删除: FileInfo fi = new FileInfo(Data.PopupText);
115删除: NameTextObj.Text = fi.Name.Replace(fi.Extension, "");
116删除: }
112新增: //if (Data.Name.Trim() == "" && Data.PopupText.Trim() != "")
113新增: //{
114新增: // FileInfo fi = new FileInfo(Data.PopupText);
115新增: // NameTextObj.Text = fi.Name.Replace(fi.Extension, "");
116新增: //}
117117
118118 ValueTextObj.Text = Data.Tag;
119119 IconObj.Source = Imager.Load(Data.Icon);
修改UI/Controls/Charts/ChartsItemTypeCard.cs+5 −5看文件
@@ -109,11 +109,11 @@ namespace UI.Controls.Charts
109109
110110 //对部分程序未获取程序名的程序使用路径中名字作为程序名
111111 NameTextObj.Text = Data.Name;
112删除: if (Data.Name.Trim() == "" && Data.PopupText.Trim() != "")
113删除: {
114删除: FileInfo fi = new FileInfo(Data.PopupText);
115删除: NameTextObj.Text = fi.Name.Replace(fi.Extension, "");
116删除: }
112新增: //if (Data.Name.Trim() == "" && Data.PopupText.Trim() != "")
113新增: //{
114新增: // FileInfo fi = new FileInfo(Data.PopupText);
115新增: // NameTextObj.Text = fi.Name.Replace(fi.Extension, "");
116新增: //}
117117
118118 NameTextObj.SizeChanged += (e, c) =>
119119 {
新增UI/Controls/Select/ImageSelect.cs+85 −0看文件
@@ -0,0 +1,85 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:using System.Windows;
7新增:using System.Windows.Controls;
8新增:
9新增:namespace UI.Controls.Select
10新增:{
11新增: public class ImageSelect : Control
12新增: {
13新增: public string URL
14新增: {
15新增: get { return (string)GetValue(URLProperty); }
16新增: set { SetValue(URLProperty, value); }
17新增: }
18新增: public static readonly DependencyProperty URLProperty =
19新增: DependencyProperty.Register("URL",
20新增: typeof(string),
21新增: typeof(ImageSelect), new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
22新增:
23新增: private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
24新增: {
25新增: var control = d as ImageSelect;
26新增: if (e.Property == URLProperty)
27新增: {
28新增: control.IsSelected = !string.IsNullOrEmpty(control.URL);
29新增: }
30新增: }
31新增:
32新增: public bool IsSelected
33新增: {
34新增: get { return (bool)GetValue(IsSelectedProperty); }
35新增: set { SetValue(IsSelectedProperty, value); }
36新增: }
37新增: public static readonly DependencyProperty IsSelectedProperty =
38新增: DependencyProperty.Register("IsSelected",
39新增: typeof(bool),
40新增: typeof(ImageSelect), new PropertyMetadata(false));
41新增:
42新增: public double ImageWidth
43新增: {
44新增: get { return (double)GetValue(ImageWidthProperty); }
45新增: set { SetValue(ImageWidthProperty, value); }
46新增: }
47新增: public static readonly DependencyProperty ImageWidthProperty =
48新增: DependencyProperty.Register("ImageWidth",
49新增: typeof(double),
50新增: typeof(ImageSelect), new PropertyMetadata((double)30));
51新增:
52新增: public double ImageHeight
53新增: {
54新增: get { return (double)GetValue(ImageHeightProperty); }
55新增: set { SetValue(ImageHeightProperty, value); }
56新增: }
57新增: public static readonly DependencyProperty ImageHeightProperty =
58新增: DependencyProperty.Register("ImageHeight",
59新增: typeof(double),
60新增: typeof(ImageSelect), new PropertyMetadata((double)30));
61新增: public Command SelectCommand { get; set; }
62新增: public ImageSelect()
63新增: {
64新增: DefaultStyleKey = typeof(ImageSelect);
65新增: SelectCommand = new Command(new Action<object>(OnSelect));
66新增: }
67新增:
68新增: private void OnSelect(object obj)
69新增: {
70新增: Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
71新增:
72新增:
73新增: dlg.Filter = "PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg";
74新增:
75新增:
76新增: bool? result = dlg.ShowDialog();
77新增:
78新增:
79新增: if (result == true)
80新增: {
81新增: URL = dlg.FileName;
82新增: }
83新增: }
84新增: }
85新增:}
新增UI/Controls/Select/Option.cs+44 −0看文件
@@ -0,0 +1,44 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:using System.Windows;
7新增:using System.Windows.Controls;
8新增:
9新增:namespace UI.Controls.Select
10新增:{
11新增: public class Option : Control
12新增: {
13新增: public bool IsChecked
14新增: {
15新增: get { return (bool)GetValue(IsCheckedProperty); }
16新增: set { SetValue(IsCheckedProperty, value); }
17新增: }
18新增: public static readonly DependencyProperty IsCheckedProperty =
19新增: DependencyProperty.Register("IsChecked",
20新增: typeof(bool),
21新增: typeof(Option), new PropertyMetadata(false));
22新增:
23新增: public SelectItemModel Value
24新增: {
25新增: get { return (SelectItemModel)GetValue(ValueProperty); }
26新增: set { SetValue(ValueProperty, value); }
27新增: }
28新增: public static readonly DependencyProperty ValueProperty =
29新增: DependencyProperty.Register("Value",
30新增: typeof(SelectItemModel),
31新增: typeof(Option));
32新增: public Option()
33新增: {
34新增: DefaultStyleKey = typeof(Option);
35新增:
36新增: MouseLeftButtonUp += Option_MouseLeftButtonUp;
37新增: }
38新增:
39新增: private void Option_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
40新增: {
41新增: IsChecked = !IsChecked;
42新增: }
43新增: }
44新增:}
新增UI/Controls/Select/Select.cs+111 −0看文件
@@ -0,0 +1,111 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:using System.Windows;
7新增:using System.Windows.Controls;
8新增:
9新增:namespace UI.Controls.Select
10新增:{
11新增: public class Select : Control
12新增: {
13新增: public bool IsOpen
14新增: {
15新增: get { return (bool)GetValue(IsOpenProperty); }
16新增: set { SetValue(IsOpenProperty, value); }
17新增: }
18新增: public static readonly DependencyProperty IsOpenProperty =
19新增: DependencyProperty.Register("IsOpen",
20新增: typeof(bool),
21新增: typeof(Select));
22新增: public List<SelectItemModel> Options
23新增: {
24新增: get { return (List<SelectItemModel>)GetValue(OptionsProperty); }
25新增: set { SetValue(OptionsProperty, value); }
26新增: }
27新增: public static readonly DependencyProperty OptionsProperty =
28新增: DependencyProperty.Register("Options",
29新增: typeof(List<SelectItemModel>),
30新增: typeof(Select), new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
31新增:
32新增: private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
33新增: {
34新增: var control = (d as Select);
35新增: if (e.Property == OptionsProperty && e.OldValue != e.NewValue)
36新增: {
37新增: control.RenderOptions();
38新增: }
39新增: if (e.Property == SelectItemProperty && e.NewValue != e.OldValue)
40新增: {
41新增: control.OnSelectedItemChange();
42新增: }
43新增: }
44新增:
45新增: public SelectItemModel SelectedItem
46新增: {
47新增: get { return (SelectItemModel)GetValue(SelectItemProperty); }
48新增: set { SetValue(SelectItemProperty, value); }
49新增: }
50新增:
51新增: public static readonly DependencyProperty SelectItemProperty = DependencyProperty.Register("SelectedItem", typeof(SelectItemModel), typeof(Select), new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
52新增:
53新增:
54新增: private StackPanel _optionsContainer;
55新增: public Select()
56新增: {
57新增: DefaultStyleKey = typeof(Select);
58新增:
59新增: MouseLeftButtonUp += Select_MouseLeftButtonUp;
60新增: }
61新增:
62新增: private void Select_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
63新增: {
64新增: IsOpen = !IsOpen;
65新增: }
66新增:
67新增: public override void OnApplyTemplate()
68新增: {
69新增: base.OnApplyTemplate();
70新增: _optionsContainer = GetTemplateChild("OptionsContainer") as StackPanel;
71新增: this.RenderOptions();
72新增: }
73新增:
74新增: public void RenderOptions()
75新增: {
76新增: if (_optionsContainer == null || Options == null)
77新增: {
78新增: return;
79新增: }
80新增:
81新增: _optionsContainer?.Children.Clear();
82新增:
83新增: foreach (var item in Options)
84新增: {
85新增: var option = new Option();
86新增: option.Value = item;
87新增: option.IsChecked = SelectedItem?.Name == item.Name;
88新增: option.MouseLeftButtonUp += Option_MouseLeftButtonUp; ;
89新增: _optionsContainer.Children.Add(option);
90新增: }
91新增: }
92新增:
93新增: private void Option_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
94新增: {
95新增: var option = sender as Option;
96新增: if (option != null)
97新增: {
98新增: SelectedItem = option.Value;
99新增: OnSelectedItemChange();
100新增: }
101新增: }
102新增:
103新增: private void OnSelectedItemChange()
104新增: {
105新增: foreach (Option option in _optionsContainer.Children)
106新增: {
107新增: option.IsChecked = SelectedItem.Name == option.Value.Name;
108新增: }
109新增: }
110新增: }
111新增:}
新增UI/Controls/Select/SelectItemModel.cs+15 −0看文件
@@ -0,0 +1,15 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:
7新增:namespace UI.Controls.Select
8新增:{
9新增: public class SelectItemModel
10新增: {
11新增: public string Name { get; set; }
12新增: public string Img { get; set; }
13新增: public object Data { get; set; }
14新增: }
15新增:}
修改UI/Controls/Window/DefaultWindow.cs+9 −1看文件
@@ -56,7 +56,15 @@ namespace UI.Controls.Window
5656 get { return (string)GetValue(ToastContentProperty); }
5757 set { SetValue(ToastContentProperty, value); }
5858 }
59删除:
59新增: public static readonly DependencyProperty ToastTypeProperty = DependencyProperty.Register("ToastType", typeof(ToastType), typeof(DefaultWindow), new PropertyMetadata(ToastType.Info));
60新增: /// <summary>
61新增: /// toast type
62新增: /// </summary>
63新增: public ToastType ToastType
64新增: {
65新增: get { return (ToastType)GetValue(ToastTypeProperty); }
66新增: set { SetValue(ToastTypeProperty, value); }
67新增: }
6068 public static readonly DependencyProperty PageContainerProperty = DependencyProperty.Register("PageContainer", typeof(PageContainer), typeof(DefaultWindow), new PropertyMetadata(null, new PropertyChangedCallback(OnPageContainerChanged)));
6169 public PageContainer PageContainer { get { return (PageContainer)GetValue(PageContainerProperty); } set { SetValue(PageContainerProperty, value); } }
6270 #region 最小化按钮显示状态
新增UI/Controls/Window/ToastType.cs+19 −0看文件
@@ -0,0 +1,19 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:
7新增:namespace UI.Controls.Window
8新增:{
9新增: /// <summary>
10新增: /// 通知类型
11新增: /// </summary>
12新增: public enum ToastType
13新增: {
14新增: Info,
15新增: Error,
16新增: Warning,
17新增: Success
18新增: }
19新增:}
新增UI/Themes/Base/CheckBox.xaml+26 −0看文件
@@ -0,0 +1,26 @@
1新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3新增: xmlns:local="clr-namespace:UI.Controls.Base">
4新增: <Style TargetType="{x:Type local:CheckBox}">
5新增: <Setter Property="SnapsToDevicePixels"
6新增: Value="true" />
7新增:
8新增: <Setter Property="MinWidth" Value="18"/>
9新增: <Setter Property="MinHeight" Value="18"/>
10新增: <Setter Property="FontSize" Value="16"/>
11新增: <Setter Property="FontFamily" Value="pack://application:,,,/Tai;component/Resources/Fonts/#Fabric MDL2 Assets"/>
12新增: <Setter Property="Background" Value="Transparent"/>
13新增:
14新增: <Setter Property="Template">
15新增: <Setter.Value>
16新增: <ControlTemplate TargetType="{x:Type local:CheckBox}">
17新增: <Border Background="{TemplateBinding Background}">
18新增:
19新增:
20新增: </Border>
21新增:
22新增: </ControlTemplate>
23新增: </Setter.Value>
24新增: </Setter>
25新增: </Style>
26新增:</ResourceDictionary>
文件末尾没有换行
新增UI/Themes/Base/Img.xaml+25 −0看文件
@@ -0,0 +1,25 @@
1新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3新增: xmlns:local="clr-namespace:UI.Controls.Base">
4新增: <Style TargetType="{x:Type local:Img}">
5新增: <Setter Property="SnapsToDevicePixels"
6新增: Value="true" />
7新增:
8新增: <Setter Property="MinWidth" Value="18"/>
9新增: <Setter Property="MinHeight" Value="18"/>
10新增: <Setter Property="FontSize" Value="16"/>
11新增: <Setter Property="FontFamily" Value="pack://application:,,,/Tai;component/Resources/Fonts/#Fabric MDL2 Assets"/>
12新增: <Setter Property="Background" Value="Transparent"/>
13新增:
14新增: <Setter Property="Template">
15新增: <Setter.Value>
16新增: <ControlTemplate TargetType="{x:Type local:Img}">
17新增: <Border Background="{TemplateBinding Background}">
18新增: <Image x:Name="image" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"/>
19新增: </Border>
20新增:
21新增: </ControlTemplate>
22新增: </Setter.Value>
23新增: </Setter>
24新增: </Style>
25新增:</ResourceDictionary>
文件末尾没有换行
新增UI/Themes/Base/Text.xaml+18 −0看文件
@@ -0,0 +1,18 @@
1新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3新增: xmlns:local="clr-namespace:UI.Controls.Base">
4新增: <Style TargetType="{x:Type local:Text}">
5新增: <Setter Property="SnapsToDevicePixels"
6新增: Value="true" />
7新增: <Setter Property="Template">
8新增: <Setter.Value>
9新增: <ControlTemplate TargetType="{x:Type local:Text}">
10新增: <Border SnapsToDevicePixels="True" Background="{TemplateBinding Background}">
11新增: <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:Text}}, Path=Content_}"/>
12新增: </Border>
13新增:
14新增: </ControlTemplate>
15新增: </Setter.Value>
16新增: </Setter>
17新增: </Style>
18新增:</ResourceDictionary>
文件末尾没有换行
修改UI/Themes/Generic.xaml+7 −0看文件
@@ -8,6 +8,9 @@
88 <ResourceDictionary Source="/Tai;component/Themes/Base/Icon.xaml"/>
99 <ResourceDictionary Source="/Tai;component/Themes/Base/Placeholder.xaml"/>
1010 <ResourceDictionary Source="/Tai;component/Themes/Base/EmptyData.xaml"/>
11新增: <ResourceDictionary Source="/Tai;component/Themes/Base/Img.xaml"/>
12新增: <ResourceDictionary Source="/Tai;component/Themes/Base/CheckBox.xaml"/>
13新增: <ResourceDictionary Source="/Tai;component/Themes/Base/Text.xaml"/>
1114
1215 <ResourceDictionary Source="/Tai;component/Themes/PageContainer.xaml"/>
1316 <ResourceDictionary Source="/Tai;component/Themes/Charts/Charts.xaml"/>
@@ -28,6 +31,10 @@
2831 <ResourceDictionary Source="/Tai;component/Themes/List/BaseList.xaml"/>
2932 <ResourceDictionary Source="/Tai;component/Themes/List/BaseListItem.xaml"/>
3033
34新增: <ResourceDictionary Source="/Tai;component/Themes/Select/Select.xaml"/>
35新增: <ResourceDictionary Source="/Tai;component/Themes/Select/Option.xaml"/>
36新增: <ResourceDictionary Source="/Tai;component/Themes/Select/ImageSelect.xaml"/>
37新增:
3138 </ResourceDictionary.MergedDictionaries>
3239
3340</ResourceDictionary>
新增UI/Themes/Select/ImageSelect.xaml+55 −0看文件
@@ -0,0 +1,55 @@
1新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3新增: xmlns:local="clr-namespace:UI.Controls.Select" xmlns:base="clr-namespace:UI.Controls.Base">
4新增:
5新增:
6新增: <Style TargetType="{x:Type local:ImageSelect}">
7新增: <Setter Property="SnapsToDevicePixels"
8新增: Value="True" />
9新增:
10新增: <Setter Property="Background" Value="Transparent"/>
11新增: <Setter Property="ToolTip" Value="选择图片"/>
12新增:
13新增: <Setter Property="Template">
14新增: <Setter.Value>
15新增: <ControlTemplate TargetType="{x:Type local:ImageSelect}">
16新增: <Border SnapsToDevicePixels="True" Background="{TemplateBinding Background}" HorizontalAlignment="Left" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
17新增: <Border.InputBindings>
18新增: <MouseBinding Gesture="LeftClick" Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:ImageSelect}}, Path=SelectCommand}"/>
19新增: </Border.InputBindings>
20新增: <Grid>
21新增: <Border x:Name="Choose" Background="#f7f8fa" Padding="20" CornerRadius="10">
22新增: <Grid HorizontalAlignment="Center">
23新增: <Grid.RowDefinitions>
24新增: <RowDefinition Height="*"/>
25新增: <RowDefinition Height="*"/>
26新增: </Grid.RowDefinitions>
27新增: <base:Icon IconType="FileImage" Foreground="#2b20d9" VerticalAlignment="Center" HorizontalAlignment="Center"/>
28新增:
29新增: <TextBlock Text="选择图片" Grid.Row="1" Margin="0,10,0,0"/>
30新增: </Grid>
31新增: </Border>
32新增: <Border x:Name="Img" BorderBrush="#f7f8fa" BorderThickness="1" CornerRadius="10" Padding="10">
33新增: <base:Img URL="{TemplateBinding URL}" Width="{TemplateBinding ImageWidth}" Height="{TemplateBinding ImageHeight}"/>
34新增: </Border>
35新增:
36新增: </Grid>
37新增: </Border>
38新增: <ControlTemplate.Triggers>
39新增: <Trigger Property="IsMouseOver" Value="True">
40新增: <Setter Property="Background" TargetName="Choose" Value="#FFE8E6FF"/>
41新增: </Trigger>
42新增: <Trigger Property="IsSelected" Value="True">
43新增: <Setter Property="Visibility" TargetName="Img" Value="Visible"/>
44新增: <Setter Property="Visibility" TargetName="Choose" Value="Collapsed"/>
45新增: </Trigger>
46新增: <Trigger Property="IsSelected" Value="False">
47新增: <Setter Property="Visibility" TargetName="Img" Value="Collapsed"/>
48新增: <Setter Property="Visibility" TargetName="Choose" Value="Visible"/>
49新增: </Trigger>
50新增: </ControlTemplate.Triggers>
51新增: </ControlTemplate>
52新增: </Setter.Value>
53新增: </Setter>
54新增: </Style>
55新增:</ResourceDictionary>
文件末尾没有换行
新增UI/Themes/Select/Option.xaml+85 −0看文件
@@ -0,0 +1,85 @@
1新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3新增: xmlns:local="clr-namespace:UI.Controls.Select" xmlns:base="clr-namespace:UI.Controls.Base">
4新增: <Style TargetType="{x:Type local:Option}">
5新增: <Setter Property="SnapsToDevicePixels"
6新增: Value="true" />
7新增:
8新增: <Setter Property="Background" Value="Transparent"/>
9新增: <!--<Setter Property="Height" Value="15"/>-->
10新增:
11新增: <Setter Property="Template">
12新增: <Setter.Value>
13新增: <ControlTemplate TargetType="{x:Type local:Option}">
14新增: <Border CornerRadius="10" Background="{TemplateBinding Background}" Padding="10,8">
15新增:
16新增: <Border>
17新增: <Grid>
18新增: <Grid.ColumnDefinitions>
19新增: <ColumnDefinition Width="30"/>
20新增:
21新增: <ColumnDefinition Width="40"/>
22新增: <ColumnDefinition Width="*"/>
23新增:
24新增: </Grid.ColumnDefinitions>
25新增: <!--标记是否选中-->
26新增: <Border>
27新增: <Grid>
28新增: <!--选中-->
29新增: <Border
30新增: Width="20"
31新增: Height="20"
32新增: Background="#FFA9A4FD"
33新增: BorderBrush="#2b21d9"
34新增: BorderThickness="2"
35新增: CornerRadius="20"
36新增: x:Name="CheckStyle" Visibility="Collapsed">
37新增: <Rectangle Width="10" Height="10" RadiusX="10" RadiusY="10" Fill="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
38新增: </Border>
39新增:
40新增: <!--未选中-->
41新增: <Border
42新增: Width="20"
43新增: Height="20"
44新增: BorderBrush="#FFECECEC"
45新增: BorderThickness="2"
46新增: CornerRadius="20"
47新增: x:Name="UnCheckStyle" Visibility="Collapsed">
48新增:
49新增: </Border>
50新增: </Grid>
51新增: </Border>
52新增: <!--图标-->
53新增: <Border Grid.Column="1" Margin="5,0,0,0">
54新增: <base:Img URL="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:Option}}, Path=Value.Img}" Width="25" Height="25" VerticalAlignment="Center"/>
55新增: </Border>
56新增: <!--文字-->
57新增: <Border Grid.Column="2">
58新增: <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:Option}}, Path=Value.Name}" VerticalAlignment="Center" Margin="5,0,0,0"/>
59新增: </Border>
60新增: </Grid>
61新增: </Border>
62新增:
63新增:
64新增:
65新增:
66新增: </Border>
67新增: <ControlTemplate.Triggers>
68新增: <Trigger Property="IsChecked" Value="True">
69新增: <Setter TargetName="CheckStyle" Property="Visibility" Value="Visible"/>
70新增: <Setter TargetName="UnCheckStyle" Property="Visibility" Value="Collapsed"/>
71新增: </Trigger>
72新增: <Trigger Property="IsChecked" Value="False">
73新增: <Setter TargetName="CheckStyle" Property="Visibility" Value="Collapsed"/>
74新增: <Setter TargetName="UnCheckStyle" Property="Visibility" Value="Visible"/>
75新增: </Trigger>
76新增: <Trigger Property="IsMouseOver" Value="True">
77新增: <Setter Property="Background" Value="#F7F6F9"/>
78新增: </Trigger>
79新增: </ControlTemplate.Triggers>
80新增:
81新增: </ControlTemplate>
82新增: </Setter.Value>
83新增: </Setter>
84新增: </Style>
85新增:</ResourceDictionary>
文件末尾没有换行
新增UI/Themes/Select/Select.xaml+60 −0看文件
@@ -0,0 +1,60 @@
1新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3新增: xmlns:local="clr-namespace:UI.Controls.Select" xmlns:base="clr-namespace:UI.Controls.Base">
4新增:
5新增:
6新增: <Style TargetType="{x:Type local:Select}">
7新增: <Setter Property="SnapsToDevicePixels"
8新增: Value="true" />
9新增:
10新增: <Setter Property="Background" Value="Transparent"/>
11新增:
12新增: <Setter Property="Template">
13新增: <Setter.Value>
14新增: <ControlTemplate TargetType="{x:Type local:Select}">
15新增: <Border Background="{TemplateBinding Background}" HorizontalAlignment="Left" >
16新增: <Grid>
17新增: <!--当前选择项-->
18新增: <Border x:Name="Main" Margin="0,10,0,0" Background="#f9f9f9" HorizontalAlignment="Left" Padding="15,5" CornerRadius="5">
19新增: <Border.Effect>
20新增: <DropShadowEffect Color="#d8d2d2" BlurRadius="1" Direction="300" ShadowDepth="4" Opacity="0.1" RenderingBias="Performance" ></DropShadowEffect>
21新增: </Border.Effect>
22新增: <StackPanel Orientation="Horizontal">
23新增: <base:Img URL="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:Select}}, Path=SelectedItem.Img}" Width="30" Height="30" VerticalAlignment="Center"/>
24新增: <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:Select}}, Path=SelectedItem.Name}" VerticalAlignment="Center" Margin="5,0,0,0"/>
25新增: </StackPanel>
26新增: </Border>
27新增:
28新增: <!--选择-->
29新增: <Popup
30新增: Placement="Bottom"
31新增: PlacementTarget="{Binding ElementName=Main}"
32新增: IsOpen="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:Select}}, Path=IsOpen,Mode=TwoWay}" AllowsTransparency="True" StaysOpen="False">
33新增: <Border
34新增: CornerRadius="10"
35新增: BorderBrush="#CCC"
36新增: BorderThickness="1"
37新增: Background="White" Padding="10" MaxHeight="300" Margin="10">
38新增: <Border.Effect>
39新增: <DropShadowEffect BlurRadius="6" ShadowDepth="2" Direction="315" Color="Gray" Opacity=".1"/>
40新增: </Border.Effect>
41新增: <ScrollViewer HorizontalScrollBarVisibility="Disabled">
42新增: <StackPanel x:Name="OptionsContainer">
43新增:
44新增: </StackPanel>
45新增: </ScrollViewer>
46新增:
47新增: </Border>
48新增: </Popup>
49新增: </Grid>
50新增: </Border>
51新增: <ControlTemplate.Triggers>
52新增: <Trigger Property="IsMouseOver" Value="True">
53新增: <Setter Property="Background" TargetName="Main" Value="#FFE8E6FF"/>
54新增: </Trigger>
55新增: </ControlTemplate.Triggers>
56新增: </ControlTemplate>
57新增: </Setter.Value>
58新增: </Setter>
59新增: </Style>
60新增:</ResourceDictionary>
文件末尾没有换行
修改UI/Themes/Window/DefaultWindow.xaml+13 −3看文件
@@ -177,7 +177,7 @@
177177 <!--内容-->
178178 <Border
179179 Padding="15,15"
180删除: CornerRadius="6"
180新增: CornerRadius="12"
181181 MaxWidth="320"
182182 x:Name="ToastBorder" Background="White" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="1000">
183183 <Border.RenderTransform>
@@ -194,8 +194,8 @@
194194 <ColumnDefinition Width="*"/>
195195
196196 </Grid.ColumnDefinitions>
197删除: <base:Icon IconType="{TemplateBinding ToastIcon}" VerticalAlignment="Top" Margin="0,0,10,0"/>
198删除: <TextBlock Grid.Column="1" Text="{TemplateBinding ToastContent}" VerticalAlignment="Top" TextWrapping="WrapWithOverflow"/>
197新增: <base:Icon IconType="{TemplateBinding ToastIcon}" VerticalAlignment="Top" Margin="0,0,10,0" x:Name="ToastIcon"/>
198新增: <TextBlock x:Name="ToastText" Grid.Column="1" Text="{TemplateBinding ToastContent}" VerticalAlignment="Top" TextWrapping="WrapWithOverflow"/>
199199 </Grid>
200200 </Border>
201201 <!--遮罩层-->
@@ -224,6 +224,16 @@
224224 </VisualStateManager.VisualStateGroups>
225225 </Border>
226226 <ControlTemplate.Triggers>
227新增: <Trigger Property="ToastType" Value="Success">
228新增: <Setter TargetName="ToastBorder" Property="Background" Value="#24bf5f" />
229新增: <Setter TargetName="ToastIcon" Property="Foreground" Value="#fff" />
230新增: <Setter TargetName="ToastText" Property="Foreground" Value="#fff" />
231新增: </Trigger>
232新增: <Trigger Property="ToastType" Value="Error">
233新增: <Setter TargetName="ToastBorder" Property="Background" Value="#f54f4e" />
234新增: <Setter TargetName="ToastIcon" Property="Foreground" Value="#fff" />
235新增: <Setter TargetName="ToastText" Property="Foreground" Value="#fff" />
236新增: </Trigger>
227237 <MultiTrigger>
228238 <MultiTrigger.Conditions>
229239 <Condition Property="WindowState" Value="Normal" />