提交记录修改UI/Controls/Navigation/Navigation.cs+2 −1看文件
修改UI/Controls/SettingPanel/SettingPanel.cs+17 −0看文件
修改UI/Controls/Toggle/Toggle.cs+8 −1看文件
修改UI/Resources/Themes/Dark/Toggle/Toggle.xaml+19 −0看文件
修改UI/Resources/Themes/Light/Toggle/Toggle.xaml+19 −0看文件
修改UI/Themes/Toggle/Toggle.xaml+17 −0看文件
| @@ -294,7 +294,7 @@ namespace UI.Controls.Navigation | ||
| 294 | 294 | navItem.IconColor = item.IconColor; |
| 295 | 295 | navItem.BadgeText = item.BadgeText; |
| 296 | 296 | navItem.Uri = item.Uri; |
| 297 | 删除: //navItem.IsSelected = item.IsSelected; | |
| 297 | 新增: | |
| 298 | 298 | if (!string.IsNullOrEmpty(item.Title)) |
| 299 | 299 | { |
| 300 | 300 | navItem.MouseUp += NavItem_MouseUp; |
| @@ -369,6 +369,7 @@ namespace UI.Controls.Navigation | ||
| 369 | 369 | return; |
| 370 | 370 | } |
| 371 | 371 | var item = ItemsDictionary[SelectedItem.ID]; |
| 372 | 新增: item.IsSelected = true; | |
| 372 | 373 | //var index = Data.IndexOf(SelectedItem); |
| 373 | 374 | |
| 374 | 375 | //ActiveBlock.Height = item.ActualHeight * Data.Count; |
| @@ -45,6 +45,7 @@ namespace UI.Controls.SettingPanel | ||
| 45 | 45 | private StackPanel Container; |
| 46 | 46 | private object configData; |
| 47 | 47 | private readonly string nosetGroupKey = "noset_group"; |
| 48 | 新增: private bool isCanRender = true; | |
| 48 | 49 | private Dictionary<string, List<Config>> configList; |
| 49 | 50 | public Dictionary<string, List<string>> SettingData { get; set; } |
| 50 | 51 | public SettingPanel() |
| @@ -52,16 +53,23 @@ namespace UI.Controls.SettingPanel | ||
| 52 | 53 | DefaultStyleKey = typeof(SettingPanel); |
| 53 | 54 | SettingData = new Dictionary<string, List<string>>(); |
| 54 | 55 | } |
| 56 | 新增: | |
| 55 | 57 | public override void OnApplyTemplate() |
| 56 | 58 | { |
| 57 | 59 | base.OnApplyTemplate(); |
| 58 | 60 | |
| 59 | 61 | Container = GetTemplateChild("Container") as StackPanel; |
| 60 | 62 | |
| 63 | 新增: isCanRender = true; | |
| 61 | 64 | Render(); |
| 62 | 65 | } |
| 63 | 66 | private void Render() |
| 64 | 67 | { |
| 68 | 新增: if (!isCanRender) | |
| 69 | 新增: { | |
| 70 | 新增: isCanRender = true; | |
| 71 | 新增: return; | |
| 72 | 新增: } | |
| 65 | 73 | configList = new Dictionary<string, List<Config>>(); |
| 66 | 74 | configList.Add(nosetGroupKey, new List<Config>()); |
| 67 | 75 | |
| @@ -169,6 +177,8 @@ namespace UI.Controls.SettingPanel | ||
| 169 | 177 | { |
| 170 | 178 | newList.Add(item); |
| 171 | 179 | } |
| 180 | 新增: | |
| 181 | 新增: isCanRender = false; | |
| 172 | 182 | Data = newList; |
| 173 | 183 | } |
| 174 | 184 | }; |
| @@ -183,6 +193,8 @@ namespace UI.Controls.SettingPanel | ||
| 183 | 193 | { |
| 184 | 194 | newList.Add(item); |
| 185 | 195 | } |
| 196 | 新增: | |
| 197 | 新增: isCanRender = false; | |
| 186 | 198 | Data = newList; |
| 187 | 199 | })); |
| 188 | 200 | return panel; |
| @@ -343,6 +355,8 @@ namespace UI.Controls.SettingPanel | ||
| 343 | 355 | control.OnSelectedItemChanged += (e, c) => |
| 344 | 356 | { |
| 345 | 357 | pi.SetValue(configData, control.SelectedItem.Data); |
| 358 | 新增: | |
| 359 | 新增: isCanRender = false; | |
| 346 | 360 | Data = configData; |
| 347 | 361 | }; |
| 348 | 362 | //var inputControl = new Toggle.Toggle(); |
| @@ -371,6 +385,7 @@ namespace UI.Controls.SettingPanel | ||
| 371 | 385 | { |
| 372 | 386 | pi.SetValue(configData, inputControl.IsChecked); |
| 373 | 387 | |
| 388 | 新增: isCanRender = false; | |
| 374 | 389 | Data = configData; |
| 375 | 390 | }; |
| 376 | 391 | |
| @@ -400,6 +415,8 @@ namespace UI.Controls.SettingPanel | ||
| 400 | 415 | newData.Add(item.ToString()); |
| 401 | 416 | } |
| 402 | 417 | pi.SetValue(configData, newData); |
| 418 | 新增: | |
| 419 | 新增: isCanRender = false; | |
| 403 | 420 | Data = configData; |
| 404 | 421 | }; |
| 405 | 422 | }; |
| @@ -52,17 +52,24 @@ namespace UI.Controls.Toggle | ||
| 52 | 52 | public Toggle() |
| 53 | 53 | { |
| 54 | 54 | DefaultStyleKey = typeof(Toggle); |
| 55 | 新增: //Loaded += Toggle_Loaded; | |
| 55 | 56 | } |
| 57 | 新增: | |
| 56 | 58 | public override void OnApplyTemplate() |
| 57 | 59 | { |
| 58 | 60 | base.OnApplyTemplate(); |
| 59 | 删除: VisualStateManager.GoToState(this, IsChecked ? "On" : "Off", true); | |
| 60 | 61 | } |
| 62 | 新增: | |
| 61 | 63 | protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) |
| 62 | 64 | { |
| 63 | 65 | base.OnMouseLeftButtonUp(e); |
| 64 | 66 | IsChecked = !IsChecked; |
| 65 | 67 | ToggleChanged?.Invoke(this, EventArgs.Empty); |
| 66 | 68 | } |
| 69 | 新增: | |
| 70 | 新增: private void Toggle_Loaded(object sender, RoutedEventArgs e) | |
| 71 | 新增: { | |
| 72 | 新增: //VisualStateManager.GoToState(this, IsChecked ? "On" : "Off", true); | |
| 73 | 新增: } | |
| 67 | 74 | } |
| 68 | 75 | } |
| @@ -36,6 +36,8 @@ | ||
| 36 | 36 | <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.RenderTransform). |
| 37 | 37 | (TranslateTransform.X)" |
| 38 | 38 | Storyboard.TargetName="Mark"> |
| 39 | 新增: <EasingDoubleKeyFrame KeyTime="00:00:0" | |
| 40 | 新增: Value="0" /> | |
| 39 | 41 | <EasingDoubleKeyFrame KeyTime="00:00:0.2" |
| 40 | 42 | Value="28" /> |
| 41 | 43 | </DoubleAnimationUsingKeyFrames> |
| @@ -71,6 +73,23 @@ | ||
| 71 | 73 | </VisualStateManager.VisualStateGroups> |
| 72 | 74 | </Border> |
| 73 | 75 | <ControlTemplate.Triggers> |
| 76 | 新增: <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" Value="True"> | |
| 77 | 新增: <Setter TargetName="Button" Property="Background" Value="{DynamicResource ThemeBrush}"/> | |
| 78 | 新增: <Setter TargetName="Mark" Property="Background" Value="White"/> | |
| 79 | 新增: <DataTrigger.EnterActions> | |
| 80 | 新增: <BeginStoryboard> | |
| 81 | 新增: <Storyboard> | |
| 82 | 新增: <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.RenderTransform). | |
| 83 | 新增: (TranslateTransform.X)" | |
| 84 | 新增: Storyboard.TargetName="Mark"> | |
| 85 | 新增: <EasingDoubleKeyFrame KeyTime="00:00:0" | |
| 86 | 新增: Value="28" /> | |
| 87 | 新增: </DoubleAnimationUsingKeyFrames> | |
| 88 | 新增: | |
| 89 | 新增: </Storyboard> | |
| 90 | 新增: </BeginStoryboard> | |
| 91 | 新增: </DataTrigger.EnterActions> | |
| 92 | 新增: </DataTrigger> | |
| 74 | 93 | <Trigger Property="IsChecked" Value="True"> |
| 75 | 94 | <Setter TargetName="OffText" Property="Visibility" Value="Collapsed"/> |
| 76 | 95 | <Setter TargetName="OnText" Property="Visibility" Value="Visible"/> |
| @@ -36,6 +36,8 @@ | ||
| 36 | 36 | <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.RenderTransform). |
| 37 | 37 | (TranslateTransform.X)" |
| 38 | 38 | Storyboard.TargetName="Mark"> |
| 39 | 新增: <EasingDoubleKeyFrame KeyTime="00:00:0" | |
| 40 | 新增: Value="0" /> | |
| 39 | 41 | <EasingDoubleKeyFrame KeyTime="00:00:0.2" |
| 40 | 42 | Value="28" /> |
| 41 | 43 | </DoubleAnimationUsingKeyFrames> |
| @@ -71,6 +73,23 @@ | ||
| 71 | 73 | </VisualStateManager.VisualStateGroups> |
| 72 | 74 | </Border> |
| 73 | 75 | <ControlTemplate.Triggers> |
| 76 | 新增: <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" Value="True"> | |
| 77 | 新增: <Setter TargetName="Button" Property="Background" Value="#2b20d9"/> | |
| 78 | 新增: <Setter TargetName="Mark" Property="Background" Value="White"/> | |
| 79 | 新增: <DataTrigger.EnterActions> | |
| 80 | 新增: <BeginStoryboard> | |
| 81 | 新增: <Storyboard> | |
| 82 | 新增: <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.RenderTransform). | |
| 83 | 新增: (TranslateTransform.X)" | |
| 84 | 新增: Storyboard.TargetName="Mark"> | |
| 85 | 新增: <EasingDoubleKeyFrame KeyTime="00:00:0" | |
| 86 | 新增: Value="28" /> | |
| 87 | 新增: </DoubleAnimationUsingKeyFrames> | |
| 88 | 新增: | |
| 89 | 新增: </Storyboard> | |
| 90 | 新增: </BeginStoryboard> | |
| 91 | 新增: </DataTrigger.EnterActions> | |
| 92 | 新增: </DataTrigger> | |
| 74 | 93 | <Trigger Property="IsChecked" Value="True"> |
| 75 | 94 | <Setter TargetName="OffText" Property="Visibility" Value="Collapsed"/> |
| 76 | 95 | <Setter TargetName="OnText" Property="Visibility" Value="Visible"/> |
| @@ -71,6 +71,23 @@ | ||
| 71 | 71 | </VisualStateManager.VisualStateGroups> |
| 72 | 72 | </Border> |
| 73 | 73 | <ControlTemplate.Triggers> |
| 74 | 新增: <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" Value="True"> | |
| 75 | 新增: <Setter TargetName="Button" Property="Background" Value="#2b20d9"/> | |
| 76 | 新增: <Setter TargetName="Mark" Property="Background" Value="White"/> | |
| 77 | 新增: <DataTrigger.EnterActions> | |
| 78 | 新增: <BeginStoryboard> | |
| 79 | 新增: <Storyboard> | |
| 80 | 新增: <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.RenderTransform). | |
| 81 | 新增: (TranslateTransform.X)" | |
| 82 | 新增: Storyboard.TargetName="Mark"> | |
| 83 | 新增: <EasingDoubleKeyFrame KeyTime="00:00:0" | |
| 84 | 新增: Value="28" /> | |
| 85 | 新增: </DoubleAnimationUsingKeyFrames> | |
| 86 | 新增: | |
| 87 | 新增: </Storyboard> | |
| 88 | 新增: </BeginStoryboard> | |
| 89 | 新增: </DataTrigger.EnterActions> | |
| 90 | 新增: </DataTrigger> | |
| 74 | 91 | <Trigger Property="IsChecked" Value="True"> |
| 75 | 92 | <Setter TargetName="OffText" Property="Visibility" Value="Collapsed"/> |
| 76 | 93 | <Setter TargetName="OnText" Property="Visibility" Value="Visible"/> |

