跳到主要内容

github/tai

公开

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

提交记录
修改UI/Controls/Charts/Charts.cs+68 −2看文件
@@ -295,6 +295,47 @@ namespace UI.Controls.Charts
295295
296296 #endregion
297297
298新增: public bool IsShowValuesPopup
299新增: {
300新增: get { return (bool)GetValue(IsShowValuesPopupProperty); }
301新增: set { SetValue(IsShowValuesPopupProperty, value); }
302新增: }
303新增: public static readonly DependencyProperty IsShowValuesPopupProperty =
304新增: DependencyProperty.Register("IsShowValuesPopup",
305新增: typeof(bool),
306新增: typeof(Charts),
307新增: new PropertyMetadata(false));
308新增: public FrameworkElement ValuesPopupPlacementTarget
309新增: {
310新增: get { return (FrameworkElement)GetValue(ValuesPopupPlacementTargetProperty); }
311新增: set { SetValue(ValuesPopupPlacementTargetProperty, value); }
312新增: }
313新增: public static readonly DependencyProperty ValuesPopupPlacementTargetProperty =
314新增: DependencyProperty.Register("ValuesPopupPlacementTarget",
315新增: typeof(FrameworkElement),
316新增: typeof(Charts));
317新增:
318新增: public List<ChartColumnInfoModel> ColumnValuesInfoList
319新增: {
320新增: get { return (List<ChartColumnInfoModel>)GetValue(ColumnValuesInfoListProperty); }
321新增: set { SetValue(ColumnValuesInfoListProperty, value); }
322新增: }
323新增: public static readonly DependencyProperty ColumnValuesInfoListProperty =
324新增: DependencyProperty.Register("ColumnValuesInfoList",
325新增: typeof(List<ChartColumnInfoModel>),
326新增: typeof(Charts)
327新增: );
328新增:
329新增: public double ValuesPopupHorizontalOffset
330新增: {
331新增: get { return (double)GetValue(ValuesPopupHorizontalOffsetProperty); }
332新增: set { SetValue(ValuesPopupHorizontalOffsetProperty, value); }
333新增: }
334新增: public static readonly DependencyProperty ValuesPopupHorizontalOffsetProperty =
335新增: DependencyProperty.Register("ValuesPopupHorizontalOffset",
336新增: typeof(double),
337新增: typeof(Charts));
338新增:
298339 private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
299340 {
300341 var charts = (d as Charts);
@@ -853,7 +894,13 @@ namespace UI.Controls.Charts
853894 Width = new GridLength(1, GridUnitType.Star)
854895 });
855896
897新增: var valueContainer = new Grid();
898新增:
899新增: Grid.SetColumn(valueContainer, i);
900新增: ColumnContainer.Children.Add(valueContainer);
856901
902新增: var valuesPopupList = new List<ChartColumnInfoModel>();
903新增:
857904 for (int di = 0; di < columnCount; di++)
858905 {
859906 var item = list[di];
@@ -866,11 +913,30 @@ namespace UI.Controls.Charts
866913 column.Color = item.Color;
867914 column.ColumnName = item.ColumnNames != null && item.ColumnNames.Length > 0 ? item.ColumnNames[i] : (i + NameIndexStart).ToString();
868915 Panel.SetZIndex(column, column.Value > 0 ? -(int)column.Value : 0);
869删除: Grid.SetColumn(column, i);
870删除: ColumnContainer.Children.Add(column);
916新增:
917新增: valueContainer.Children.Add(column);
918新增:
919新增: valuesPopupList.Add(new ChartColumnInfoModel()
920新增: {
921新增: Color = item.Color,
922新增: Name = item.Name,
923新增: Icon = item.Icon,
924新增: Text = Covervalue(column.Value) + Unit
925新增: });
871926 }
872927
928新增: valueContainer.MouseEnter += (e, c) =>
929新增: {
930新增: ColumnValuesInfoList = valuesPopupList;
931新增: ValuesPopupPlacementTarget = valueContainer;
932新增: IsShowValuesPopup = true;
873933
934新增: ValuesPopupHorizontalOffset = -17.5 + (valueContainer.ActualWidth / 2);
935新增: };
936新增: valueContainer.MouseLeave += (e, c) =>
937新增: {
938新增: IsShowValuesPopup = false;
939新增: };
874940 }
875941
876942 var infoList = new List<ChartColumnInfoModel>();
修改UI/Themes/Charts/Charts.xaml+99 −2看文件
@@ -38,12 +38,109 @@
3838 <TextBlock Margin="0,10,0,0" Text="{TemplateBinding Total}" FontSize="20" Foreground="#1a1919"/>
3939 </StackPanel>
4040 <Grid Grid.Row="1" Margin="0,20,0,0">
41新增: <Popup
42新增: AllowsTransparency="True"
43新增: IsOpen="{TemplateBinding IsShowValuesPopup}"
44新增: Placement="Top"
45新增: PlacementTarget="{TemplateBinding ValuesPopupPlacementTarget}"
46新增: HorizontalOffset="{TemplateBinding ValuesPopupHorizontalOffset}">
47新增: <Border
48新增: Background="White"
49新增: CornerRadius="12"
50新增: Padding="10"
51新增: Margin="10">
52新增: <Border.Effect>
53新增: <DropShadowEffect BlurRadius="10" ShadowDepth="0" Direction="0" Color="Gray" Opacity=".1"/>
54新增: </Border.Effect>
55新增:
56新增: <Grid>
57新增: <Path
58新增: Width="15"
59新增: Height="15"
60新增: SnapsToDevicePixels="False"
61新增: Data="M 0 0 L 7.5 7.5 L 15 0" Fill="White"
62新增: Stroke="White"
63新增: StrokeThickness="1"
64新增: VerticalAlignment="Bottom"
65新增: HorizontalAlignment="Left"
66新增: Margin="0,0,0,-22"
67新增: />
68新增: <!--列数据-->
69新增: <ListView ItemsSource="{TemplateBinding ColumnValuesInfoList}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
70新增: <ListBox.Resources>
71新增: <Style TargetType="{x:Type ListView}">
72新增: <Setter Property="OverridesDefaultStyle" Value="True"/>
73新增:
74新增: <Setter Property="Template">
75新增: <Setter.Value>
76新增: <ControlTemplate TargetType="{x:Type ListView}">
77新增: <Border>
78新增: <ItemsPresenter />
79新增: </Border>
80新增: </ControlTemplate>
81新增: </Setter.Value>
82新增: </Setter>
83新增: </Style>
84新增: <Style TargetType="{x:Type ListViewItem}">
85新增: <Setter Property="OverridesDefaultStyle" Value="True"/>
86新增: <Setter Property="Template">
87新增: <Setter.Value>
88新增: <ControlTemplate TargetType="{x:Type ListViewItem}">
89新增: <Border BorderBrush="Transparent" BorderThickness="2" x:Name="Border" Background="White" Margin="0" CornerRadius="10">
90新增:
91新增: <ContentPresenter/>
92新增: </Border>
93新增: </ControlTemplate>
94新增: </Setter.Value>
95新增: </Setter>
96新增:
97新增: </Style>
98新增: </ListBox.Resources>
99新增: <ListBox.ItemsPanel>
100新增: <ItemsPanelTemplate>
101新增: <VirtualizingStackPanel/>
102新增: </ItemsPanelTemplate>
103新增: </ListBox.ItemsPanel>
104新增: <ListView.ItemTemplate>
105新增: <DataTemplate>
106新增:
107新增: <StackPanel>
108新增: <Grid>
109新增: <Grid.ColumnDefinitions>
110新增: <ColumnDefinition Width="20"/>
111新增: <ColumnDefinition Width="auto"/>
112新增: <ColumnDefinition Width="auto"/>
113新增:
114新增: </Grid.ColumnDefinitions>
115新增: <Border Width="10" CornerRadius="4" Height="10" Background="{Binding Color,Converter={StaticResource HextoColorConverter}}">
116新增: <!--颜色-->
117新增: </Border>
118新增:
119新增: <Border Grid.Column="1" Margin="5,0,0,0">
120新增: <!--名称-->
121新增: <TextBlock Foreground="#5c5c5c" VerticalAlignment="Center" Text="{Binding Name}" FontSize="12"/>
122新增: </Border>
123新增: <Border Grid.Column="2">
124新增: <!--总计和百分比-->
125新增: <TextBlock FontSize="12" Margin="5,0,0,0" Foreground="#FF8A8A8A" VerticalAlignment="Center" Text="{Binding Text}"/>
126新增:
127新增: </Border>
128新增:
129新增: </Grid>
130新增:
131新增: </StackPanel>
132新增: </DataTemplate>
133新增: </ListView.ItemTemplate>
134新增: </ListView>
135新增: </Grid>
136新增: </Border>
137新增: </Popup>
41138 <TextBlock Panel.ZIndex="2" Margin="0,-8,0,0" HorizontalAlignment="Right" VerticalAlignment="Top" Text="{TemplateBinding Maximum}" Foreground="#ccc" FontSize="12"/>
42139
43删除: <TextBlock Panel.ZIndex="2" HorizontalAlignment="Right" VerticalAlignment="Center" Text="{TemplateBinding Median}" Foreground="#ccc" FontSize="12"/>
140新增: <TextBlock Panel.ZIndex="2" HorizontalAlignment="Right" VerticalAlignment="Center" Text="{TemplateBinding Median}" Foreground="#ccc" FontSize="12" Margin="0,0,0,30"/>
44141 <Line Stroke="#ccc" Opacity="1" HorizontalAlignment="Stretch"
45142 X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
46删除: StrokeDashArray="2 5" StrokeThickness=".8" VerticalAlignment="Center" Margin="10,0"/>
143新增: StrokeDashArray="2 5" StrokeThickness=".8" VerticalAlignment="Center" Margin="10,0,10,30"/>
47144
48145 <Line Stroke="#ccc" Opacity="1" HorizontalAlignment="Stretch"
49146 X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"