Commit Graph

3 Commits

Author SHA1 Message Date
80e402e386 优化标签页管理和事件处理逻辑
在 `EditorTreeView.cs` 文件中:
- 增加了检查是否存在相同标签页的逻辑,并在存在时选中该标签页。
- 增加了 `SelectedItem` 事件,用于在标签页已经存在时触发。
- 在添加新的 `TabViewItem` 时,增加了 `Tag` 属性以存储文件路径。

在 `EditorWin.xaml.cs` 文件中:
- 修改了 `TabViewList` 和 `DataSource` 的初始化方式,从 `new()` 改为 `[]`。
- 在 `EditorWin` 的构造函数中,增加了对 `treeView.SelectedItem` 事件的处理逻辑。
- 在 `TreeView_AddTabItem` 方法中,增加了对 `codeEditorControl.KeyDown` 事件的处理逻辑,当按下 `Ctrl + S` 时,保存当前文件内容并清空撤销缓冲区。

在 `wj.cs` 文件中:
- 修改了 `xrwb` 方法的签名,将 `name` 参数改为可空类型,并增加了对 `name` 为空的检查逻辑,如果 `name` 为空则返回 `false`。

修复标签页选择逻辑并添加快捷键支持

在 `EditorTreeView.cs` 文件中:
- 在 `else` 分支中添加了检查是否已存在标签页的逻辑,如果存在则选中该标签页并返回。
- 在 `AddTabItem` 事件后添加了 `SelectedItem` 事件。

在 `EditorWin.xaml.cs` 文件中:
- 添加了 `Microsoft.UI.Input` 和 `Windows.System` 的引用。
- 将 `TabViewList` 和 `DataSource` 的初始化从 `new()` 改为 `[]`。
- 在 `treeView.SelectedItem` 事件中添加了选中标签页的逻辑。
- 在 `TreeView_AddTabItem` 方法中添加了对 `codeEditorControl.KeyDown` 事件的处理,支持 `Ctrl + S` 快捷键保存文件。

在 `wj.cs` 文件中:
- 修改了 `xrwb` 方法的签名,参数 `name` 允许为空,并在方法内部添加了对 `name` 为空的检查。
2025-01-22 16:24:37 +08:00
e88ec9db04 重构 EditorTreeView 以使用 Microsoft.UI.Xaml.Controls
在 `EditorTreeView.cs` 中:
- 添加了 `Microsoft.UI.Xaml.Controls`、`RustTools.muqing` 和 `WinUIEditor` 的引用。
- 将 `EditorTreeView` 类从继承 `TreeView` 改为继承 `Microsoft.UI.Xaml.Controls.TreeView`。
- 修改了事件处理程序的绑定方式,去掉了 `this` 关键字。
- 修改了 `TreeView_ItemInvoked`、`TreeView_Expanding` 和 `TreeView_Collapsed` 方法的参数类型,使用了 `Microsoft.UI.Xaml.Controls.TreeView`。
- 在 `TreeView_ItemInvoked` 方法中,添加了处理文件点击事件的逻辑,包括创建 `CodeEditorControl` 实例并将其添加到 `TabViewItem` 中。
- 添加了 `AddTabItem` 事件。

在 `EditorWin.xaml` 中:
- 添加了 `WinUIEditor` 的命名空间引用。
- 在 `Grid` 中添加了 `RowDefinition`,用于定义 `TabView` 的头部和内容区域的高度。
- 注释掉了 `CodeEditorControl` 的 XAML 定义。

在 `EditorWin.xaml.cs` 中:
- 添加了 `Microsoft.UI.Xaml.Media` 和 `WinUIEditor` 的引用。
- 在 `EditorWin` 构造函数中,添加了 `gridedit.SizeChanged` 事件处理程序,用于调整 `TabView` 的高度。
- 添加了 `TreeView_AddTabItem` 方法,用于处理 `AddTabItem` 事件。
- 删除了 `MyTabView_AddTabButtonClick` 方法。

在 `RustTools.csproj` 中:
- 添加了 `WinUIEdit` 包的引用。

重构 EditorTreeView 并添加 WinUI 支持

将 EditorTreeView 类更改为 Microsoft.UI.Xaml.Controls.TreeView,添加相关命名空间引用。更新方法参数类型并处理文件点击事件。调整 EditorWin.xaml 和 EditorWin.xaml.cs 文件,添加事件处理逻辑。移除 MyTabView_AddTabButtonClick 方法,并在 RustTools.csproj 中添加 WinUIEdit 包引用。
2025-01-21 19:26:04 +08:00
fc72ca7467 进行项目文件位置优化 2025-01-16 18:40:29 +08:00