提交 c27ed928 编写于 作者: Richard__Hu's avatar Richard__Hu

完成wpf客户端对主题选择的本地存储

上级 7d394409
......@@ -117,7 +117,7 @@ namespace CommonLibrary
json.Add(nameof(IsNewVersionRunning), new JValue(IsNewVersionRunning));
json.Add(nameof(SystemInfo), new JValue(SystemInfo));
json.Add(nameof(LoginTime), new JValue(LoginTime));
json.Add(nameof(IsThemeDark), new JValue(false));
json.Add(nameof(IsThemeDark), new JValue(IsThemeDark));
return json.ToString();
}
public override void LoadByString(string content)
......
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="软件系统客户端Wpf.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<userSettings>
<软件系统客户端Wpf.Properties.Settings>
<setting name="设置" serializeAs="String">
<value />
</setting>
</软件系统客户端Wpf.Properties.Settings>
</userSettings>
</configuration>
\ No newline at end of file
......@@ -18,6 +18,7 @@ using CommonLibrary;
using HslCommunication.BasicFramework;
using Newtonsoft.Json.Linq;
using ClientsLibrary;
using MaterialDesignThemes.Wpf;
namespace 软件系统客户端Wpf
{
......
......@@ -164,7 +164,7 @@
</Grid>
<Grid Width="180" DockPanel.Dock="Left">
<GroupBox Header="系统信息" Margin="2,5,0,0">
<GroupBox Header="系统信息" Margin="0,0,0,0">
<Grid>
<StackPanel>
<TextBlock>随便放点什么东西</TextBlock>
......@@ -266,7 +266,7 @@
<!--主界面,应该设置成可以放置其他东西-->
<Grid>
<ContentControl Margin="3" x:Name="UserContentControl">
<ContentControl Margin="3,0,3,0" x:Name="UserContentControl">
</ContentControl>
</Grid>
......
......@@ -21,6 +21,7 @@ using ClientsLibrary;
using System.Threading;
using 软件系统客户端Wpf.Views;
using System.Windows.Media.Animation;
using MaterialDesignThemes.Wpf;
namespace 软件系统客户端Wpf
{
......@@ -162,6 +163,9 @@ namespace 软件系统客户端Wpf
//初始化窗口
MainRenderInitialization();
//加载主题
new PaletteHelper().SetLightDark(UserClient.JsonSettings.IsThemeDark);
}
private void AddStringRenderShow(string str)
......
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace 软件系统客户端Wpf.Properties
{
namespace 软件系统客户端Wpf.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string 设置 {
get {
return ((string)(this["设置"]));
}
set {
this["设置"] = value;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="软件系统客户端Wpf.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="设置" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>
\ No newline at end of file
......@@ -18,7 +18,7 @@ namespace 软件系统客户端Wpf.Views
public ICommand ToggleBaseCommand { get; } = new AnotherCommandImplementation(o => ApplyBase((bool)o));
private static void ApplyBase(bool isDark)
public static void ApplyBase(bool isDark)
{
new PaletteHelper().SetLightDark(isDark);
}
......@@ -27,14 +27,14 @@ namespace 软件系统客户端Wpf.Views
public ICommand ApplyPrimaryCommand { get; } = new AnotherCommandImplementation(o => ApplyPrimary((Swatch)o));
private static void ApplyPrimary(Swatch swatch)
public static void ApplyPrimary(Swatch swatch)
{
new PaletteHelper().ReplacePrimaryColor(swatch);
}
public ICommand ApplyAccentCommand { get; } = new AnotherCommandImplementation(o => ApplyAccent((Swatch)o));
private static void ApplyAccent(Swatch swatch)
public static void ApplyAccent(Swatch swatch)
{
new PaletteHelper().ReplaceAccentColor(swatch);
}
......
......@@ -7,7 +7,7 @@
xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf;assembly=MaterialDesignThemes.Wpf"
xmlns:local="clr-namespace:软件系统客户端Wpf.Views"
mc:Ignorable="d"
d:DesignHeight="700" d:DesignWidth="400">
d:DesignHeight="700" d:DesignWidth="400" Loaded="UserControl_Loaded">
<UserControl.Resources>
<Style x:Key="MaterialDesignFloatingHintTextBox" BasedOn="{StaticResource MaterialDesignFloatingHintTextBox}" TargetType="{x:Type TextBox}">
<Setter Property="FontSize" Value="24" />
......@@ -96,7 +96,8 @@
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="8">
<TextBlock VerticalAlignment="Center">浅色主题</TextBlock>
<ToggleButton Margin="8 0 16 0" Command="{Binding ToggleBaseCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" />
<ToggleButton Margin="8 0 16 0" Command="{Binding ToggleBaseCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}"
x:Name="CheckBox_Theme" Checked="CheckBox_Theme_Checked" Unchecked="CheckBox_Theme_Unchecked"/>
<TextBlock VerticalAlignment="Center">暗色主题</TextBlock>
</StackPanel>
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Margin="0 12 0 0">
......
using System;
using MaterialDesignThemes.Wpf;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......@@ -24,5 +25,22 @@ namespace 软件系统客户端Wpf.Views
{
InitializeComponent();
}
private void CheckBox_Theme_Checked(object sender, RoutedEventArgs e)
{
ClientsLibrary.UserClient.JsonSettings.IsThemeDark = true;
ClientsLibrary.UserClient.JsonSettings.SaveToFile();
}
private void CheckBox_Theme_Unchecked(object sender, RoutedEventArgs e)
{
ClientsLibrary.UserClient.JsonSettings.IsThemeDark = false;
ClientsLibrary.UserClient.JsonSettings.SaveToFile();
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
if (ClientsLibrary.UserClient.JsonSettings.IsThemeDark) CheckBox_Theme.IsChecked = true;
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册