跳到主要内容

github/tai

公开

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

提交记录
新增UI/Base/UIHelper.cs+34 −0看文件
@@ -0,0 +1,34 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Globalization;
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.Media;
10新增:
11新增:namespace UI.Base
12新增:{
13新增: public static class UIHelper
14新增: {
15新增: /// <summary>
16新增: /// 测量字符串控件尺寸
17新增: /// </summary>
18新增: /// <param name="textBlock"></param>
19新增: /// <returns></returns>
20新增: public static Size MeasureString(TextBlock textBlock)
21新增: {
22新增: var formattedText = new FormattedText(
23新增: textBlock.Text,
24新增: CultureInfo.CurrentCulture,
25新增: FlowDirection.LeftToRight,
26新增: new Typeface(textBlock.FontFamily, textBlock.FontStyle, textBlock.FontWeight, textBlock.FontStretch),
27新增: textBlock.FontSize,
28新增: Brushes.Black,
29新增: new NumberSubstitution());
30新增:
31新增: return new Size(formattedText.Width, formattedText.Height);
32新增: }
33新增: }
34新增:}
修改UI/Controls/Charts/Charts.cs+191 −68看文件
@@ -16,6 +16,7 @@ using System.Windows.Media.Imaging;
1616using System.Windows.Navigation;
1717using System.Windows.Shapes;
1818using System.Windows.Threading;
19新增:using UI.Base;
1920using UI.Controls.Base;
2021using UI.Controls.Charts.Model;
2122using UI.Controls.Input;
@@ -475,7 +476,7 @@ namespace UI.Controls.Charts
475476 }
476477 if (e.Property == ColumnSelectedIndexProperty && e.OldValue != e.NewValue)
477478 {
478删除: charts.CheckColumnItem((int)e.OldValue, (int)e.NewValue);
479新增: charts.SetColBorderActiveBg((int)e.OldValue, (int)e.NewValue);
479480 }
480481
481482 }
@@ -502,9 +503,12 @@ namespace UI.Controls.Charts
502503 private StackPanel _typeATempContainer;
503504 private WrapPanel CardContainer;
504505 private Grid MonthContainer;
505删除: private Grid ColumnContainer;
506506 private Border RadarContainer;
507507 private ListView _listView;
508新增: private Canvas _typeColumnCanvas;
509新增:
510新增: private Dictionary<int, List<Rectangle>> _typeColValueRectMap;
511新增: private Dictionary<int, Rectangle> _typeColBorderRectMap;
508512 /// <summary>
509513 /// 是否在渲染中
510514 /// </summary>
@@ -522,7 +526,7 @@ namespace UI.Controls.Charts
522526 {
523527 DefaultStyleKey = typeof(Charts);
524528
525删除:
529新增:
526530 SizeChanged += Charts_SizeChanged;
527531 Unloaded += Charts_Unloaded;
528532 }
@@ -547,10 +551,14 @@ namespace UI.Controls.Charts
547551 base.OnApplyTemplate();
548552 CardContainer = GetTemplateChild("CardContainer") as WrapPanel;
549553 MonthContainer = GetTemplateChild("MonthContainer") as Grid;
550删除: ColumnContainer = GetTemplateChild("ColumnContainer") as Grid;
551554 RadarContainer = GetTemplateChild("Radar") as Border;
552555 _listView = GetTemplateChild("ListView") as ListView;
553556 _typeATempContainer = GetTemplateChild("TypeATempContainer") as StackPanel;
557新增: if (ChartsType == ChartsType.Column)
558新增: {
559新增: _typeColumnCanvas = GetTemplateChild("TypeColumnCanvas") as Canvas;
560新增: _typeColumnCanvas.SizeChanged += _typeColumnCanvas_SizeChanged;
561新增: }
554562
555563 UpdateListViewHeight();
556564
@@ -572,6 +580,11 @@ namespace UI.Controls.Charts
572580 page.SizeChanged += Page_SizeChanged;
573581 }
574582
583新增: private void _typeColumnCanvas_SizeChanged(object sender, SizeChangedEventArgs e)
584新增: {
585新增: RenderColumnStyle();
586新增: }
587新增:
575588 private void Page_SizeChanged(object sender, SizeChangedEventArgs e)
576589 {
577590 _listView.Height = 1;
@@ -634,7 +647,7 @@ namespace UI.Controls.Charts
634647
635648 private void Render()
636649 {
637删除: if (isRendering || CardContainer == null || ColumnContainer == null)
650新增: if (isRendering || CardContainer == null)
638651 {
639652 return;
640653 }
@@ -643,7 +656,6 @@ namespace UI.Controls.Charts
643656 Calculate();
644657 CardContainer.Children.Clear();
645658 MonthContainer.Children.Clear();
646删除: ColumnContainer.Children.Clear();
647659 _typeATempContainer.Children.Clear();
648660
649661 RadarContainer.Child = null;
@@ -662,11 +674,7 @@ namespace UI.Controls.Charts
662674 {
663675 IsEmpty = false;
664676 }
665删除: ListViewBindingData = Data.OrderByDescending(x => x.Value).ToList();
666删除: if (ShowLimit > 0)
667删除: {
668删除: ListViewBindingData = ListViewBindingData.Take(ShowLimit);
669删除: }
677新增:
670678 isRendering = true;
671679 switch (ChartsType)
672680 {
@@ -702,6 +710,12 @@ namespace UI.Controls.Charts
702710 }
703711 private void RenderHorizontalAStyle()
704712 {
713新增: ListViewBindingData = Data.OrderByDescending(x => x.Value).ToList();
714新增: if (ShowLimit > 0)
715新增: {
716新增: ListViewBindingData = ListViewBindingData.Take(ShowLimit);
717新增: }
718新增:
705719 isRendering = false;
706720 var searchBox = GetTemplateChild("ASearchBox") as InputBox;
707721 searchBox.TextChanged += SearchBox_TextChanged;
@@ -1026,24 +1040,24 @@ namespace UI.Controls.Charts
10261040 #endregion
10271041
10281042 #region 渲染柱形图
1029删除: private void CheckColumnItem(int oldIndex, int newIndex)
1043新增: private void SetColBorderActiveBg(int oldIndex, int newIndex)
10301044 {
1031删除: if (!IsCanColumnSelect || ColumnContainer.Children.Count == 0)
1045新增: if (!IsCanColumnSelect || _typeColBorderRectMap == null)
10321046 {
10331047 return;
10341048 }
10351049
1036删除: if (oldIndex >= 0 && oldIndex < ColumnContainer.Children.Count)
1050新增: if (_typeColBorderRectMap.ContainsKey(oldIndex))
10371051 {
1038删除: var oldItem = ColumnContainer.Children[oldIndex] as Grid;
1039删除: oldItem.Background = new SolidColorBrush(Colors.Transparent);
1052新增: var oldItem = _typeColBorderRectMap[oldIndex];
1053新增: oldItem.Fill = new SolidColorBrush(Colors.Transparent);
10401054 }
1041删除: if (newIndex >= 0 && newIndex < ColumnContainer.Children.Count)
1055新增: if (_typeColBorderRectMap.ContainsKey(newIndex))
10421056 {
10431057 var background = Application.Current.Resources["ThemeBrush"] as SolidColorBrush;
10441058
1045删除: var checkItem = ColumnContainer.Children[newIndex] as Grid;
1046删除: checkItem.Background = new SolidColorBrush(background.Color) { Opacity = .1 };
1059新增: var checkItem = _typeColBorderRectMap[newIndex];
1060新增: checkItem.Fill = new SolidColorBrush(background.Color) { Opacity = .1 };
10471061 }
10481062 }
10491063 /// <summary>
@@ -1051,11 +1065,17 @@ namespace UI.Controls.Charts
10511065 /// </summary>
10521066 private void RenderColumnStyle()
10531067 {
1054删除: ColumnContainer.Children.Clear();
1055删除: ColumnInfoList = new List<ChartColumnInfoModel>();
1056删除: ColumnContainer.ColumnDefinitions.Clear();
1057删除: maxValue = 0;
1068新增: if (_typeColumnCanvas == null || _typeColumnCanvas.ActualHeight == 0)
1069新增: {
1070新增: return;
1071新增: }
1072新增:
1073新增: _typeColumnCanvas.Children.Clear();
1074新增: ColumnInfoList = null;
1075新增: _typeColValueRectMap = new Dictionary<int, List<Rectangle>>();
1076新增: _typeColBorderRectMap = new Dictionary<int, Rectangle>();
10581077
1078新增: maxValue = 0;
10591079 Maximum = string.Empty;
10601080 Median = string.Empty;
10611081 Total = string.Empty;
@@ -1066,8 +1086,6 @@ namespace UI.Controls.Charts
10661086 }
10671087
10681088
1069删除:
1070删除:
10711089 double total = 0;
10721090 // 查找最大值
10731091 foreach (var item in Data)
@@ -1089,20 +1107,16 @@ namespace UI.Controls.Charts
10891107 }
10901108
10911109 Maximum = Covervalue(maxValue);
1092删除:
10931110 Median = Covervalue((maxValue / 2));
1094删除:
10951111 Total = Covervalue(total);
10961112
1097删除: int margin = 5;
1098删除:
1099删除:
1100删除:
1101删除: // 创建列
1113新增: // 列数
11021114 int columns = Data.FirstOrDefault().Values.Length;
11031115
11041116
1105删除: // 调整间距
1117新增: // 间距
1118新增: int margin = 5;
1119新增:
11061120 if (columns <= 7)
11071121 {
11081122 margin = 25;
@@ -1117,74 +1131,185 @@ namespace UI.Controls.Charts
11171131 }
11181132
11191133 int columnCount = Data.Count();
1120删除:
11211134 var list = Data.ToList();
11221135
1136新增: // 列名高度
1137新增: const double colNameHeight = 30;
1138新增: // 列名下边距
1139新增: const double colNameBottomMargin = 5;
1140新增: // 画布高度
1141新增: double canvasHeight = _typeColumnCanvas.ActualHeight - colNameHeight - colNameBottomMargin;
1142新增: // 画布宽度
1143新增: double canvasWidth = _typeColumnCanvas.ActualWidth;
1144新增: // 边框宽度
1145新增: double columnBorderWidth = _typeColumnCanvas.ActualWidth / columns;
1146新增: // 列值宽度
1147新增: double colValueRectWidth = _typeColumnCanvas.ActualWidth / columns - (margin * 2);
1148新增:
11231149 for (int i = 0; i < columns; i++)
11241150 {
1125删除: ColumnContainer.ColumnDefinitions.Add(new ColumnDefinition()
1126删除: {
1127删除: Width = new GridLength(1, GridUnitType.Star)
1128删除: });
1151新增: // 绘制列边框
1152新增: var columnBorder = new Rectangle();
1153新增: columnBorder.Width = columnBorderWidth;
1154新增: columnBorder.Height = canvasHeight;
1155新增: columnBorder.Fill = new SolidColorBrush(Colors.Transparent);
1156新增: Canvas.SetLeft(columnBorder, i * columnBorderWidth);
1157新增: Canvas.SetTop(columnBorder, colNameBottomMargin);
1158新增: Panel.SetZIndex(columnBorder, 999);
1159新增: _typeColumnCanvas.Children.Add(columnBorder);
1160新增: _typeColBorderRectMap.Add(i, columnBorder);
1161新增:
1162新增: // 列名
1163新增: string colName = list[0].ColumnNames != null && list[0].ColumnNames.Length > 0 ? list[0].ColumnNames[i] : (i + NameIndexStart).ToString();
1164新增: // 绘制列名
1165新增: TextBlock colNameText = new TextBlock();
1166新增: colNameText.TextAlignment = TextAlignment.Center;
1167新增: colNameText.Width = columnBorderWidth;
1168新增: colNameText.FontSize = 12;
1169新增: colNameText.Text = colName;
1170新增: colNameText.Foreground = UI.Base.Color.Colors.GetFromString("#FF8A8A8A");
1171新增:
1172新增: Canvas.SetLeft(colNameText, i * columnBorderWidth);
1173新增: Canvas.SetBottom(colNameText, colNameBottomMargin);
1174新增: _typeColumnCanvas.Children.Add(colNameText);
11291175
1130删除: var valueContainer = new Grid();
1131删除:
1132删除: Grid.SetColumn(valueContainer, i);
1133删除: ColumnContainer.Children.Add(valueContainer);
11341176
11351177 var valuesPopupList = new List<ChartColumnInfoModel>();
11361178
1179新增: _typeColValueRectMap.Add(i, new List<Rectangle>());
1180新增:
11371181 for (int di = 0; di < columnCount; di++)
11381182 {
11391183 var item = list[di];
1140删除: item.Color = item.Color == null ? UI.Base.Color.Colors.MainColors[di] : item.Color;
1141删除: var column = new ChartItemTypeColumn();
1142删除: column.Value = item.Values[i];
1143删除: column.MaxValue = maxValue;
1144删除: column.Margin = new Thickness(margin, 0, margin, 0);
1184新增: string colColor = item.Color == null ? UI.Base.Color.Colors.MainColors[di] : item.Color;
1185新增: double value = item.Values[i];
11451186
1146删除: column.Color = item.Color;
1147删除: column.ColumnName = item.ColumnNames != null && item.ColumnNames.Length > 0 ? item.ColumnNames[i] : (i + NameIndexStart).ToString();
1148删除: Panel.SetZIndex(column, column.Value > 0 ? -(int)column.Value : 0);
11491187
1150删除: valueContainer.Children.Add(column);
1151删除:
1152删除: if (column.Value > 0)
1188新增: if (value > 0)
11531189 {
1190新增: // 绘制列
1191新增: var colValueRect = new Rectangle();
1192新增: colValueRect.Width = colValueRectWidth;
1193新增: colValueRect.Height = value / maxValue * canvasHeight;
1194新增: colValueRect.Fill = UI.Base.Color.Colors.GetFromString(colColor);
1195新增: colValueRect.RadiusX = 4;
1196新增: colValueRect.RadiusY= 4;
1197新增: Canvas.SetLeft(colValueRect, i * columnBorderWidth + margin);
1198新增: Canvas.SetBottom(colValueRect, colNameHeight);
1199新增:
1200新增: _typeColumnCanvas.Children.Add(colValueRect);
1201新增: _typeColValueRectMap[i].Add(colValueRect);
1202新增:
1203新增: // 列分类统计数据
11541204 valuesPopupList.Add(new ChartColumnInfoModel()
11551205 {
11561206 Color = item.Color,
11571207 Name = item.Name,
11581208 Icon = item.Icon,
1159删除: Text = Covervalue(column.Value) + Unit
1209新增: Text = Covervalue(value) + Unit,
1210新增: Value = value,
11601211 });
11611212 }
11621213 }
1214新增: var index = i;
11631215
1164删除: valueContainer.MouseEnter += (e, c) =>
1216新增: columnBorder.MouseEnter += (e, c) =>
11651217 {
1166删除: ColumnValuesInfoList = valuesPopupList;
1167删除: ValuesPopupPlacementTarget = valueContainer;
1218新增: ColumnValuesInfoList = valuesPopupList.OrderByDescending(m => m.Value).ToList();
1219新增: ValuesPopupPlacementTarget = columnBorder;
11681220 IsShowValuesPopup = valuesPopupList.Count > 0;
11691221
1170删除: ValuesPopupHorizontalOffset = -17.5 + (valueContainer.ActualWidth / 2);
1222新增: ValuesPopupHorizontalOffset = -17.5 + (columnBorder.ActualWidth / 2);
1223新增:
1224新增: if (ColumnSelectedIndex != index)
1225新增: {
1226新增: var themeBrush = Application.Current.Resources["ThemeBrush"] as SolidColorBrush;
1227新增: columnBorder.Fill = new SolidColorBrush(themeBrush.Color) { Opacity = .05 };
1228新增: }
11711229 };
1172删除: valueContainer.MouseLeave += (e, c) =>
1230新增: columnBorder.MouseLeave += (e, c) =>
11731231 {
11741232 IsShowValuesPopup = false;
1175删除: };
1233新增: if (ColumnSelectedIndex != index)
1234新增: {
1235新增: columnBorder.Fill = new SolidColorBrush(Colors.Transparent);
11761236
1177删除: var index = i;
1178删除: valueContainer.MouseLeftButtonDown += (e, c) =>
1179删除: {
1180删除: ColumnSelectedIndex = index;
1237新增: }
11811238 };
1239新增: if (IsCanColumnSelect)
1240新增: {
1241新增: columnBorder.MouseLeftButtonDown += (e, c) =>
1242新增: {
1243新增: ColumnSelectedIndex = index;
1244新增: };
1245新增: }
1246新增: }
1247新增: // 调整列值 zindex
1248新增: foreach (var item in _typeColValueRectMap)
1249新增: {
1250新增: var rectList = item.Value.OrderByDescending(m => m.Height).ToList();
1251新增: for (int i = 0; i < rectList.Count; i++)
1252新增: {
1253新增: var rect = rectList[i];
1254新增: Panel.SetZIndex(rect, i);
1255新增: }
11821256 }
11831257
1184删除: var infoList = new List<ChartColumnInfoModel>();
11851258
1259新增: // 最高
1260新增: var topValueText = new TextBlock();
1261新增: topValueText.Text = Maximum;
1262新增: topValueText.FontSize = 12;
1263新增: topValueText.Foreground = UI.Base.Color.Colors.GetFromString("#ccc");
1264新增: topValueText.ToolTip = "最高值";
1265新增:
1266新增: var topValueTextSize = UIHelper.MeasureString(topValueText);
1267新增: Panel.SetZIndex(topValueText, 1000);
1268新增: Canvas.SetRight(topValueText, 0);
1269新增: Canvas.SetTop(topValueText, colNameBottomMargin - topValueTextSize.Height / 2);
1270新增: _typeColumnCanvas.Children.Add(topValueText);
1271新增:
1272新增: var topValueLine = new Line();
1273新增: topValueLine.Stroke = UI.Base.Color.Colors.GetFromString("#ccc");
1274新增: topValueLine.StrokeDashArray = new DoubleCollection() { 2, 5 };
1275新增: topValueLine.X1 = colNameBottomMargin;
1276新增: topValueLine.X2 = canvasWidth - colNameBottomMargin - (topValueTextSize.Width);
1277新增: topValueLine.Y1 = colNameBottomMargin;
1278新增: topValueLine.Y2 = colNameBottomMargin;
1279新增: topValueLine.StrokeThickness = 1;
1280新增: _typeColumnCanvas.Children.Add(topValueLine);
1281新增:
1282新增: // 中间值
1283新增: double midY = (maxValue / 2) / maxValue * canvasHeight + colNameBottomMargin;
1284新增:
1285新增: var midValueText = new TextBlock();
1286新增: midValueText.Text = Median;
1287新增: midValueText.FontSize = 12;
1288新增: midValueText.Foreground = UI.Base.Color.Colors.GetFromString("#ccc");
1289新增: midValueText.ToolTip = "中间值";
1290新增:
1291新增: var midValueTextSize = UIHelper.MeasureString(midValueText);
1292新增: Panel.SetZIndex(midValueText, 1000);
1293新增: Canvas.SetRight(midValueText, 0);
1294新增: Canvas.SetTop(midValueText, midY - midValueTextSize.Height / 2);
1295新增: _typeColumnCanvas.Children.Add(midValueText);
1296新增:
1297新增: var midValueLine = new Line();
1298新增: midValueLine.Stroke = UI.Base.Color.Colors.GetFromString("#ccc");
1299新增: midValueLine.StrokeDashArray = new DoubleCollection() { 2, 5 };
1300新增: midValueLine.StrokeThickness = 1;
1301新增:
1302新增:
1303新增: midValueLine.X1 = colNameBottomMargin;
1304新增: midValueLine.X2 = canvasWidth - colNameBottomMargin - (midValueTextSize.Width);
1305新增: midValueLine.Y1 = midY;
1306新增: midValueLine.Y2 = midY;
1307新增: _typeColumnCanvas.Children.Add(midValueLine);
1308新增:
1309新增:
1310新增: // 组装分类统计数据
1311新增: var infoList = new List<ChartColumnInfoModel>();
11861312 list = list.OrderByDescending(m => m.Values.Sum()).ToList();
1187删除:
11881313 foreach (var item in list)
11891314 {
11901315 infoList.Add(new ChartColumnInfoModel()
@@ -1195,9 +1320,7 @@ namespace UI.Controls.Charts
11951320 Text = Covervalue(item.Values.Sum()) + Unit
11961321 });
11971322 }
1198删除:
11991323 ColumnInfoList = infoList;
1200删除:
12011324 isRendering = false;
12021325 }
12031326 #endregion
修改UI/Controls/Charts/Model/ChartColumnInfoModel.cs+1 −1看文件
@@ -12,6 +12,6 @@ namespace UI.Controls.Charts.Model
1212 public string Name { get; set; }
1313 public string Icon { get; set; }
1414 public string Text { get; set; }
15删除:
15新增: public double Value { get; set; }
1616 }
1717}
修改UI/Resources/Themes/Dark/Charts/Charts.xaml+2 −14看文件
@@ -192,21 +192,9 @@
192192 </Grid>
193193 </Border>
194194 </Popup>
195删除: <TextBlock Panel.ZIndex="2" Margin="0,-8,0,0" HorizontalAlignment="Right" VerticalAlignment="Top" Text="{TemplateBinding Maximum}" Foreground="#ccc" FontSize="12"/>
196删除:
197删除: <TextBlock Panel.ZIndex="2" HorizontalAlignment="Right" VerticalAlignment="Center" Text="{TemplateBinding Median}" Foreground="#ccc" FontSize="12" Margin="0,0,0,30"/>
198删除: <Line Stroke="#ccc" Opacity="1" HorizontalAlignment="Stretch"
199删除: X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
200删除: StrokeDashArray="2 5" StrokeThickness=".8" VerticalAlignment="Center" Margin="10,0,10,30"/>
201删除:
202删除: <Line Stroke="#ccc" Opacity="1" HorizontalAlignment="Stretch"
203删除: X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
204删除: StrokeDashArray="2 5" StrokeThickness=".8" VerticalAlignment="Top" Margin="10,0"/>
205删除:
195新增:
206196 <Border BorderThickness="1,0,0,1" BorderBrush="#7e7e7e">
207删除: <Grid x:Name="ColumnContainer">
208删除:
209删除: </Grid>
197新增: <Canvas x:Name="TypeColumnCanvas"/>
210198 </Border>
211199 </Grid>
212200 <!--信息-->
修改UI/Resources/Themes/Light/Charts/Charts.xaml+2 −13看文件
@@ -193,22 +193,11 @@
193193 </Grid>
194194 </Border>
195195 </Popup>
196删除: <TextBlock Panel.ZIndex="2" Margin="0,-8,0,0" HorizontalAlignment="Right" VerticalAlignment="Top" Text="{TemplateBinding Maximum}" Foreground="#ccc" FontSize="12"/>
197删除:
198删除: <TextBlock Panel.ZIndex="2" HorizontalAlignment="Right" VerticalAlignment="Center" Text="{TemplateBinding Median}" Foreground="#ccc" FontSize="12" Margin="0,0,0,30"/>
199删除: <Line Stroke="#ccc" Opacity="1" HorizontalAlignment="Stretch"
200删除: X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
201删除: StrokeDashArray="2 5" StrokeThickness=".8" VerticalAlignment="Center" Margin="10,0,10,30"/>
202删除:
203删除: <Line Stroke="#ccc" Opacity="1" HorizontalAlignment="Stretch"
204删除: X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
205删除: StrokeDashArray="2 5" StrokeThickness=".8" VerticalAlignment="Top" Margin="10,0"/>
206196
207197 <Border BorderThickness="1,0,0,1" BorderBrush="#eeeef2">
208删除: <Grid x:Name="ColumnContainer">
209删除:
210删除: </Grid>
198新增: <Canvas x:Name="TypeColumnCanvas"/>
211199 </Border>
200新增:
212201 </Grid>
213202 <!--信息-->
214203 <Grid Grid.Row="2" Margin="0,5,0,0">
修改UI/UI.csproj+1 −0看文件
@@ -127,6 +127,7 @@
127127 </ApplicationDefinition>
128128 <Compile Include="Base\Color\Colors.cs" />
129129 <Compile Include="Base\Color\ColorTypes.cs" />
130新增: <Compile Include="Base\UIHelper.cs" />
130131 <Compile Include="Controls\Base\EmptyData.cs" />
131132 <Compile Include="Controls\Base\CheckBox.cs" />
132133 <Compile Include="Controls\Base\ColorSelect.cs" />