using OpenSEMI.Ctrlib.Window; using Prism.Regions; using System.Collections.Generic; using System.Windows; using Venus_Themes.CustomControls; using Venus_UI.Models; using Venus_UI.Themes.Attach; using Venus_Unity; using System.Linq; using System.Threading; namespace Venus_UI.Views { /// /// ShellView.xaml 的交互逻辑 /// public partial class ShellView : CustomWnd { IRegionManager m_regionManager; IRegionNavigationService m_regionNavigationService; List menus; public ShellView(IRegionManager regionManager, IRegionNavigationService regionNavigationService) { InitializeComponent(); m_regionManager = regionManager; m_regionNavigationService = regionNavigationService; m_regionManager.RegisterViewWithRegion("MainRegion", typeof(Venus_MainPages.Views.OverView)); m_regionManager.RegisterViewWithRegion("TopRegion", typeof(Venus_MainPages.Views.TopView)); } private void CustomWnd_Loaded(object sender, RoutedEventArgs e) { menus = SerializeHelper.Instance.ReadFromJsonFile>("Config/Menu.json"); for (int i = 0; i < menus.Count; i++) { var aduRadioButtonIcon = new AduRadioButtonIcon(); if (i == 0) { aduRadioButtonIcon.IsChecked = true; } //aduRadioButtonIcon.Content = this.FindResource(menus[i].ID); aduRadioButtonIcon.SetResourceReference(ContentProperty, menus[i].ID); aduRadioButtonIcon.Tag = menus[i].ID; aduRadioButtonIcon.SetValue(IconElement.PathDataProperty, this.FindResource("Icon_" + menus[i].ID)); aduRadioButtonIcon.Checked += AduRadioButtonIcon_Checked; Bottom_Frame.Children.Add(aduRadioButtonIcon); } } private void AduRadioButtonIcon_Checked(object sender, RoutedEventArgs e) { m_regionManager.RequestNavigate("MainRegion", (sender as AduRadioButtonIcon).Tag.ToString()); } } }