using GeekDesk.Control.UserControls; using GeekDesk.Control.UserControls.Config; using GeekDesk.ViewModel; using HandyControl.Controls; using HandyControl.Data; using System; using System.Windows; using System.Windows.Input; namespace GeekDesk.Control.Windows { /// /// ConfigDialog.xaml 的交互逻辑 /// public partial class ConfigWindow { private static AboutControl about = new AboutControl(); private static ThemeControl theme = new ThemeControl(); private static MotionControl motion = new MotionControl(); private static OtherControl other = new OtherControl(); public MainWindow mainWindow; private ConfigWindow(AppConfig appConfig, MainWindow mainWindow) { InitializeComponent(); this.DataContext = appConfig; RightCard.Content = about; this.Topmost = true; this.mainWindow = mainWindow; } /// /// 移动窗口 /// /// /// private void DragMove(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { DragMove(); } } /// /// 点击关闭按钮 /// /// /// private void Close_Button_Click(object sender, RoutedEventArgs e) { this.Close(); } private void MemuClick(object sender, RoutedEventArgs e) { SideMenuItem smi = sender as SideMenuItem; switch (smi.Tag.ToString()) { case "Motion": RightCard.Content = motion; break; case "Theme": RightCard.Content = theme; break; case "Other": RightCard.Content = other; break; default: RightCard.Content = about; break; } } private static System.Windows.Window window = null; public static void Show(AppConfig appConfig, MainWindow mainWindow) { if (window == null || !window.Activate()) { window = new ConfigWindow(appConfig, mainWindow); } window.Show(); } } }