ZeroLauncher/MainWindow.xaml.cs
2024-03-07 21:04:59 +08:00

158 lines
5.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
{
WebApiManager.StopListener();
Close();
}
private void AirButton_Click(object sender, RoutedEventArgs e)
{
var ab = new About1();
ab.ShowDialog();
}
}
}