using GeekDesk.Util; using GeekDesk.ViewModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace GeekDesk.Control.Windows { /// /// IconfontWindow.xaml 的交互逻辑 /// public partial class IconfontWindow : Window { private static MenuInfo menuInfo; private DataContextInfo dataContextInfo = new DataContextInfo(); private IconfontWindow(List listInfo, MenuInfo menuInfo) { InitializeComponent(); dataContextInfo.iconListSystem = listInfo; this.DataContext = dataContextInfo; IconfontWindow.menuInfo = menuInfo; } /// /// 移动窗口 /// /// /// private void DragMove(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { DragMove(); } } private void Close_Click(object sender, RoutedEventArgs e) { this.Close(); } private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e) { //this.DataContext = listInfo; } private void Confirm_Click(object sender, RoutedEventArgs e) { string tag = (MyTabControl.SelectedContent as TabItem).Tag.ToString(); switch (tag) { case "Custom": if (dataContextInfo.iconInfoCustom != null) { menuInfo.MenuGeometry = dataContextInfo.iconInfoCustom.Text; } break; default: if (dataContextInfo.iconInfoSystem != null) { menuInfo.MenuGeometry = dataContextInfo.iconInfoSystem.Text; } break; } this.Close(); } private static System.Windows.Window window = null; public static void Show(List listInfo, MenuInfo menuInfo) { if (window == null || !window.Activate()) { window = new IconfontWindow(listInfo, menuInfo); } window.Show(); } private class DataContextInfo { public List iconListSystem; public List iconListCustom; public IconfontInfo iconInfoSystem; public IconfontInfo iconInfoCustom; } } }