add:增加文档和上位机
This commit is contained in:
110
上位机/YKC/MainWindow.xaml.cs
Normal file
110
上位机/YKC/MainWindow.xaml.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace YKC
|
||||
{
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
private Dictionary<string, Button> _navButtons = new Dictionary<string, Button>();
|
||||
private Dictionary<string, string> _navTitles = new Dictionary<string, string>();
|
||||
private string _username = "Admin";
|
||||
|
||||
public void SetUser(string name)
|
||||
{
|
||||
_username = name;
|
||||
if (txtUser != null) txtUser.Text = name;
|
||||
}
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
_navButtons["dashboard"] = btnDashboard;
|
||||
_navButtons["realtime"] = btnRealtime;
|
||||
_navButtons["charger"] = btnCharger;
|
||||
_navButtons["gateway"] = btnGateway;
|
||||
|
||||
_navTitles["dashboard"] = "总览";
|
||||
_navTitles["realtime"] = "实时监控";
|
||||
_navTitles["charger"] = "充电桩管理";
|
||||
_navTitles["gateway"] = "网关管理";
|
||||
|
||||
txtUser.Text = "Admin";
|
||||
|
||||
Loaded += (s, e) =>
|
||||
{
|
||||
UdpClientHolder.Instance.OnActiveReport += PilesStoreHolder.Instance.HandleReport;
|
||||
NavigateTo("dashboard");
|
||||
};
|
||||
}
|
||||
|
||||
private void SetActiveNav(string key)
|
||||
{
|
||||
foreach (var kv in _navButtons)
|
||||
{
|
||||
var btn = kv.Value;
|
||||
var border = btn.Template?.FindName("border", btn) as Border;
|
||||
if (kv.Key == key)
|
||||
{
|
||||
btn.Foreground = new SolidColorBrush(Colors.White);
|
||||
btn.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#1A3A5C"));
|
||||
btn.BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#3B82F6"));
|
||||
btn.BorderThickness = new Thickness(3, 0, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
btn.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#8899AA"));
|
||||
btn.Background = new SolidColorBrush(Colors.Transparent);
|
||||
btn.BorderBrush = new SolidColorBrush(Colors.Transparent);
|
||||
btn.BorderThickness = new Thickness(3, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void NavigateTo(string key)
|
||||
{
|
||||
SetActiveNav(key);
|
||||
txtPageTitle.Text = _navTitles.ContainsKey(key) ? _navTitles[key] : key;
|
||||
|
||||
Uri uri;
|
||||
switch (key)
|
||||
{
|
||||
case "dashboard": uri = new Uri("Pages/DashboardPage.xaml", UriKind.Relative); break;
|
||||
case "realtime": uri = new Uri("Pages/RealtimePage.xaml", UriKind.Relative); break;
|
||||
case "charger": uri = new Uri("Pages/ChargerPage.xaml", UriKind.Relative); break;
|
||||
case "gateway": uri = new Uri("Pages/GatewayPage.xaml", UriKind.Relative); break;
|
||||
default: return;
|
||||
}
|
||||
|
||||
contentFrame.Source = uri;
|
||||
}
|
||||
|
||||
private void NavButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is Button btn && btn.Tag is string key)
|
||||
{
|
||||
NavigateTo(key);
|
||||
}
|
||||
}
|
||||
|
||||
private void Logout_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var result = MessageBox.Show("确认退出登录?", "退出", MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
if (result == MessageBoxResult.Yes)
|
||||
{
|
||||
var loginWin = new LoginWindow();
|
||||
loginWin.Show();
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void Header_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
||||
{
|
||||
if (e.LeftButton == System.Windows.Input.MouseButtonState.Pressed)
|
||||
DragMove();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user