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
{
///
/// MainWindow.xaml 的互動邏輯
///
public partial class MainWindow : Window
{
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 = 1200;
this.MinHeight = 800;
uxInitListViewItem.IsSelected = true;
uxInitListViewItem.Focus();
}
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().First().Text;
uxContentGrid.Children.Clear();
switch (item.Name)
{
case "uxInitListViewItem":
uxContentGrid.Children.Add(ucInitialIdle);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
case "uxAuthListViewItem":
uxContentGrid.Children.Add(ucAuthentaction);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
case "uxChargingListViewItem":
uxContentGrid.Children.Add(ucPlugCharging);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
case "uxMaintainListViewItem":
uxContentGrid.Children.Add(ucMaintenance);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
case "uxBuildListViewItem":
uxContentGrid.Children.Add(ucBuildIco);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
case "uxModifyListViewItem":
uxContentGrid.Children.Add(ucModifyIco);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
case "uxSaveListViewItem":
uxContentGrid.Children.Add(ucSaveSdCard);
uxContentGrid.Children.OfType().First().uxContentScrollViewer.ScrollToTop();
break;
default:
break;
}
lastSelectedItem = item;
}
}
}
}