ZeroLauncher/MainWindow.xaml.cs

157 lines
5.2 KiB
C#
Raw Normal View History

2024-03-07 21:04:59 +08:00
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using Zerolauncher.AboutDialog;
using Zerolauncher.controls;
using Zerolauncher.dialog;
using Zerolauncher.Manager;
namespace Zerolauncher
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public static MainWindow Instance { get; private set; }
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
//实现窗口的拖动
DragMove();
}
public MainWindow()
{
InitializeComponent();
Instance = this;
memberBG.ContextMenu = CreateContextMenu();
int i = 0;
foreach (var account in AccountManager.accountsList)
{
var member = new MemberControl();
member.memberId = i++;
member.text.Content = ServicesStaticInfo.ServicesShortName[account.providerId] + "-" + account.nickName;
mLayout.Children.Add(member);
}
}
public void ReloadBtn()
{
//foreach (var btn in mLayout.Children.)
mLayout.Children.Clear();
int i = 0;
foreach (var account in AccountManager.accountsList)
{
var member = new MemberControl();
member.memberId = i++;
member.text.Content = ServicesStaticInfo.ServicesShortName[account.providerId] + "-" + account.nickName;
mLayout.Children.Add(member);
}
}
private ContextMenu CreateContextMenu()
{
ContextMenu contextMenu = new ContextMenu();
MenuItem addMemberItem = new MenuItem { Header = "添加账号" };
addMemberItem.Click += addMemberItem_Click;
contextMenu.Items.Add(addMemberItem);
MenuItem addMembersItem = new MenuItem { Header = "导入账号" };
contextMenu.Items.Add(addMembersItem);
addMembersItem.Click += addMembersItem_Click;
MenuItem addTeamItem = new MenuItem { Header = "新增队伍" };
contextMenu.Items.Add(addTeamItem);
addTeamItem.Click += addTeamItem_Click;
MenuItem editTeamItem = new MenuItem { Header = "编辑队伍" };
contextMenu.Items.Add(editTeamItem);
editTeamItem.Click += editTeamItem_Click;
MenuItem changeTeamItem = new MenuItem { Header = "切换队伍" };
contextMenu.Items.Add(changeTeamItem);
changeTeamItem.MouseEnter += (sender, args) =>
{
// 清空ContextMenu的items
changeTeamItem.Items.Clear();
// 假设你有一个字符串数组
string[] items = TeamManager.GetAllTeamName();
// 遍历字符串数组为每个元素创建一个MenuItem
for (int i = 0; i < items.Length; i++)
{
MenuItem menuItem = new MenuItem { Header = items[i] };
menuItem.Tag = i;
menuItem.Click += (sender, args) =>
{
// 输出被点击的item的index
MenuItem menuItem = sender as MenuItem;
int i = (int)menuItem.Tag;
Trace.WriteLine("Clicked item index: " + i);
AccountManager.reloadData(i);
ReloadBtn();
};
changeTeamItem.Items.Add(menuItem);
}
};
return contextMenu;
}
private void addMemberItem_Click(object sender, RoutedEventArgs e)
{
EditMemberDialog.CreateDailog(this, null);
}
private void addMembersItem_Click(object sender, RoutedEventArgs e)
{
AddMemebersDialog.CreateDailog(this);
}
private void addTeamItem_Click(object sender, RoutedEventArgs e)
{
EditTeamDialog.CreateDailog(this);
}
private void editTeamItem_Click(object sender, RoutedEventArgs e)
{
EditTeamDialog.CreateDailog(this, AccountManager.teamName);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
// 创建新的按钮
Button newButton = new Button();
newButton.Content = "新按钮";
// 将新按钮添加到布局中
// 假设你的布局是一个名为"myLayout"的StackPanel
mLayout.Children.Add(newButton);
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
LoginManager.LoginTest();
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
LoginManager.GameTest();
}
private void Button_Click_3(object sender, RoutedEventArgs e)
{
Close();
}
private void AirButton_Click(object sender, RoutedEventArgs e)
{
var ab = new About1();
ab.ShowDialog();
}
}
}