本页介绍了v2rayN的主窗口,它是用于管理代理连接、查看应用程序消息和配置系统的中央界面。主窗口使用ReactiveUI实现了MVVM模式,并具有灵活的布局系统,支持多种方向选项。
有关服务器管理的具体信息,请参阅服务器管理。
主窗口是v2rayN的主要用户界面组件。它提供了对所有主要功能,包括:
来源: v2rayN/v2rayN/Views/MainWindow.xaml30-298 v2rayN/v2rayN/Views/MainWindow.xaml.cs16-28
主窗口支持三种不同的布局方向,可通过应用程序设置进行选择。
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs42-68 v2rayN/v2rayN/Views/MainWindow.xaml304-421
菜单栏通过一系列下拉菜单和按钮,提供了对应用程序所有主要功能的访问。
| 菜单 | 目的 |
|---|---|
| 服务器 | 添加不同类型的服务器(VMess、VLESS、Shadowsocks等) |
| 订阅 | 管理订阅URL并更新服务器列表 |
| 设置 | 配置应用程序选项、路由规则、DNS设置等。 |
| 重新加载 | 重新加载配置和服务器 |
| 检查更新 | 检查应用程序更新 |
| 帮助 | 访问文档和资源 |
| 推广 | 查看推广信息 |
| 关闭 | 最小化到系统托盘 |
来源: v2rayN/v2rayN/Views/MainWindow.xaml39-289
内容区域包含多个提供不同功能的视图。
根据所选的布局模式,这些视图在窗口内的排列方式会有所不同。
来源: v2rayN/v2rayN/Views/MainWindow.xaml304-421 v2rayN/v2rayN/Views/MainWindow.xaml.cs42-68
消息视图显示日志消息和状态信息。它提供筛选功能,帮助用户专注于特定类型的消息,并提供复制或清除显示文本的选项。
特性
来源: v2rayN/v2rayN/Views/MsgView.xaml16-109 v2rayN/v2rayN/Views/MsgView.xaml.cs10-89
使用Clash模式时,将提供两个专用视图。
Clash代理视图:允许选择代理和代理组,并提供以下选项:
Clash连接视图:显示具有详细信息的活动连接。
来源: v2rayN/v2rayN/Views/ClashProxiesView.xaml16-190 v2rayN/v2rayN/Views/ClashConnectionsView.xaml16-104
主窗口通过ViewModel和ReactiveUI框架与v2rayN的其他部分集成。
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs38-40 v2rayN/v2rayN/Views/MainWindow.xaml.cs71-132
主窗口初始化时,会执行几个关键步骤:
AppHandler.Instance.Config加载配置。来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs22-145
可以使用ShowHideWindow方法来显示或隐藏主窗口(最小化到系统托盘)。这可以通过以下方式触发:
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs378-396
主窗口使用以下方法保存和恢复其大小、位置和布局:
RestoreUI() - 在初始化期间调用以恢复已保存的尺寸。StorageUI() - 在窗口关闭前调用以保存当前尺寸。这些方法管理:
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs398-442
主窗口通过MainWindow_PreviewKeyDown方法处理键盘快捷键。
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs282-318
应用程序支持全局热键,即使应用程序未处于焦点状态也能正常工作。这些热键由OnHotkeyHandler方法处理,包括:
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs252-267 v2rayN/v2rayN/Views/MainWindow.xaml.cs144
主窗口提供两种通过二维码添加服务器的方法:
ScanScreenTaskAsync)ScanImageTaskAsync)来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs336-360
该窗口使用MaterialDesign的DialogHost来显示模态对话框。
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs362-372 v2rayN/v2rayN/Views/MainWindow.xaml31-35
主窗口通过 UpdateViewHandler 方法使用命令模式来处理各种操作
这集中了 UI 更新的处理,并确保它们在 UI 线程上发生。
来源: v2rayN/v2rayN/Views/MainWindow.xaml.cs166-250
主窗口支持通过以下方式进行主题定制
来源: v2rayN/v2rayN/Views/MainWindow.xaml291-297 v2rayN/v2rayN/App.xaml9-231