123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using SourceChord.FluentWPF;
- using System.Linq;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Media;
- namespace Phihong_EVSE_UI_Tool
- {
- /// <summary>
- /// MainWindow.xaml 的互動邏輯
- /// </summary>
- public partial class MainWindow : Window
- {
- private Properties.Settings mySettings = Properties.Settings.Default;
- private ListViewItem lastSelectedItem = null;
- private InitialIdleUC ucInitialIdle = new InitialIdleUC();
- private AuthenticationUC ucAuthentaction = new AuthenticationUC();
- private PlugChargingUC ucPlugCharging = new PlugChargingUC();
- private MaintenanceUC ucMaintenance = new MaintenanceUC();
- private BuildIco ucBuildIco = new BuildIco();
- private ModifyIco ucModifyIco = new ModifyIco();
- private SaveSdCard ucSaveSdCard = new SaveSdCard();
- public MainWindow()
- {
- InitializeComponent();
- //this.MaxHeight = SystemParameters.WorkArea.Height + 12.5;
- this.MinWidth = 900;
- this.MinHeight = 600;
- uxInitListViewItem.IsSelected = true;
- uxInitListViewItem.Focus();
- if (!mySettings.Mode.Equals("54088"))
- {
- uxBuildListViewItem.Visibility = Visibility.Collapsed;
- uxSaveMenuTextBlock.Margin = new Thickness(17, 433, 0, 0);
- }
- Utility.ChangedFiles = Utility.ChangedFiles.ToDictionary(p => p.Key, p => false);
- }
- private void uxMenuListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (uxMenuListView.SelectedItem != null)
- {
- if (lastSelectedItem != null)
- {
- lastSelectedItem.Foreground = new SolidColorBrush(Colors.Black);
- lastSelectedItem.Background = null;
- }
- ListViewItem item = uxMenuListView.SelectedItem as ListViewItem;
- Binding myBinding = new Binding("ImmersiveSystemAccentBrush");
- myBinding.Source = new AccentColors();
- item.SetBinding(ListViewItem.ForegroundProperty, myBinding);
- item.Background = new SolidColorBrush(Color.FromArgb(40, 0, 0, 0));
- uxTitleTextBlock.Text = (item.Content as StackPanel).Children.OfType<TextBlock>().First().Text;
- uxContentGrid.Children.Clear();
- switch (item.Name)
- {
- case "uxInitListViewItem":
- uxContentGrid.Children.Add(ucInitialIdle);
- uxContentGrid.Children.OfType<InitialIdleUC>().First().uxContentScrollViewer.ScrollToTop();
- break;
- case "uxAuthListViewItem":
- uxContentGrid.Children.Add(ucAuthentaction);
- uxContentGrid.Children.OfType<AuthenticationUC>().First().uxContentScrollViewer.ScrollToTop();
- break;
- case "uxChargingListViewItem":
- uxContentGrid.Children.Add(ucPlugCharging);
- uxContentGrid.Children.OfType<PlugChargingUC>().First().uxContentScrollViewer.ScrollToTop();
- break;
- case "uxMaintainListViewItem":
- uxContentGrid.Children.Add(ucMaintenance);
- uxContentGrid.Children.OfType<MaintenanceUC>().First().uxContentScrollViewer.ScrollToTop();
- break;
- case "uxBuildListViewItem":
- uxContentGrid.Children.Add(ucBuildIco);
- uxContentGrid.Children.OfType<BuildIco>().First().uxContentScrollViewer.ScrollToTop();
- break;
- case "uxModifyListViewItem":
- uxContentGrid.Children.Add(ucModifyIco);
- uxContentGrid.Children.OfType<ModifyIco>().First().uxContentScrollViewer.ScrollToTop();
- break;
- case "uxSaveListViewItem":
- uxContentGrid.Children.Add(ucSaveSdCard);
- uxContentGrid.Children.OfType<SaveSdCard>().First().uxContentScrollViewer.ScrollToTop();
- break;
- default:
- break;
- }
- lastSelectedItem = item;
- }
- }
- }
- public class DpiDecorator : Decorator
- {
- public DpiDecorator()
- {
- this.Loaded += (s, e) =>
- {
- Matrix m = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice;
- ScaleTransform dpiTransform = new ScaleTransform(1.25 / m.M11, 1.25 / m.M22);
- if (dpiTransform.CanFreeze)
- {
- dpiTransform.Freeze();
- }
- this.LayoutTransform = dpiTransform;
- };
- }
- }
- }
|