即将大削TreeList

This commit is contained in:
2025-09-03 10:34:45 +08:00
parent 6de9a56916
commit 31d3517ecb
92 changed files with 719 additions and 89 deletions

View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")] [assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+29e6225cdc46fd4ca9dd8a3a9908fdde3cec17e4")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")] [assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")] [assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@@ -1 +1 @@
e263d66b7c29861b4e79417b20bf525068935c17339acf8de1df03eae5a8b7ae 6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -1 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/29e6225cdc46fd4ca9dd8a3a9908fdde3cec17e4/*"}} {"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6de9a569169837c7c4dd2ba48d91f97ac120d97f")]
[assembly: System.Reflection.AssemblyProductAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyTitleAttribute("Ramitta")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
6baaddb41ff452e71ebe6c3c2df7525533bffa1530e68e608695ed959d56952d

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Ramitta
build_property.ProjectDir = D:\Workspace\GitHub\Ramitta-lib\Ramitta\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1 @@
{"documents":{"D:\\Workspace\\GitHub\\Ramitta-lib\\*":"https://raw.githubusercontent.com/XerolySkinner/Ramitta-lib/6de9a569169837c7c4dd2ba48d91f97ac120d97f/*"}}

View File

@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\winTreeList.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "AD6C28CFA616538F9292472E827A9C58E46B1924" #pragma checksum "..\..\..\winTreeList.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "7A8AE0EEB83C120442BBFBA98FB97551F3607E12"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。

View File

@@ -1,4 +1,4 @@
#pragma checksum "..\..\..\winTreeList.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "AD6C28CFA616538F9292472E827A9C58E46B1924" #pragma checksum "..\..\..\winTreeList.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "7A8AE0EEB83C120442BBFBA98FB97551F3607E12"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。

View File

@@ -15,31 +15,20 @@
<!-- Checkbox节点的样式 --> <!-- Checkbox节点的样式 -->
<HierarchicalDataTemplate DataType="{x:Type local:CheckboxTreeNode}" ItemsSource="{Binding Children}"> <HierarchicalDataTemplate DataType="{x:Type local:CheckboxTreeNode}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsChecked}" <ContentControl Content="{Binding obj}" />
Content="{Binding Text}"
Tag="{Binding Tag}">
<!-- 鼠标悬停时显示 Tag 内容 -->
<CheckBox.ToolTip>
<ToolTip Content="{Binding Tag}" />
</CheckBox.ToolTip>
</CheckBox>
</StackPanel> </StackPanel>
</HierarchicalDataTemplate> </HierarchicalDataTemplate>
<!-- Label节点的样式 --> <!-- Label节点的样式 -->
<HierarchicalDataTemplate DataType="{x:Type local:LabelTreeNode}" ItemsSource="{Binding Children}"> <HierarchicalDataTemplate DataType="{x:Type local:LabelTreeNode}" ItemsSource="{Binding Children}">
<Label Content="{Binding Text}" VerticalAlignment="Center"/> <ContentControl Content="{Binding obj}" />
</HierarchicalDataTemplate> </HierarchicalDataTemplate>
<!-- Combobox节点的样式 --> <!-- Combobox节点的样式 -->
<HierarchicalDataTemplate DataType="{x:Type local:ComboboxTreeNode}" ItemsSource="{Binding Children}"> <HierarchicalDataTemplate DataType="{x:Type local:ComboboxTreeNode}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<Label Content="{Binding Text}"/> <Label Content="{Binding Text}" Foreground="White"/>
<ComboBox SelectedIndex="0"/> <ContentControl Content="{Binding obj}" />
</StackPanel> </StackPanel>
</HierarchicalDataTemplate> </HierarchicalDataTemplate>
</TreeView.Resources> </TreeView.Resources>
</TreeView> </TreeView>
</Grid> </Grid>

View File

@@ -2,6 +2,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@@ -18,12 +19,19 @@ using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using System.Windows.Threading; using System.Windows.Threading;
using System.Xml.Linq; using System.Xml.Linq;
using static System.Net.Mime.MediaTypeNames;
using static System.Runtime.InteropServices.JavaScript.JSType; using static System.Runtime.InteropServices.JavaScript.JSType;
namespace Ramitta namespace Ramitta
{ {
public partial class winTreeList : UserControl public partial class winTreeList : UserControl, INotifyPropertyChanged
{ {
public event PropertyChangedEventHandler? PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public winTreeList() public winTreeList()
{ {
InitializeComponent(); InitializeComponent();
@@ -53,32 +61,89 @@ namespace Ramitta
#endregion #endregion
#region #region
#region #region
public LabelTreeNode AddLabelNode(string text, TreeNode? parent = null) public LabelTreeNode AddLabelNode(string text, TreeNode? parent = null)
{ {
var node = new LabelTreeNode { Text = text }; var label = new Label()
AddNode(node, parent); {
return node; Content = text
}
public CheckboxTreeNode AddCheckboxNode(string text, string? tag=null, bool isChecked = false, TreeNode? parent = null)
{
var node = new CheckboxTreeNode {
Text = text,
IsChecked = isChecked,
Tag = tag ?? text };
AddNode(node, parent);
return node;
}
public ComboboxTreeNode AddComboboxNode(string text, string[]? item=null, TreeNode? parent = null)
{
var node = new ComboboxTreeNode {
Text = text,
ComboBoxItems = new ObservableCollection<string>(item ?? []),
}; };
var node = new LabelTreeNode
{
Text = text,
obj = label
};
AddNode(node, parent); AddNode(node, parent);
return node; return node;
} }
public CheckboxTreeNode AddCheckboxNode(string text, string? tag = null, bool isChecked = false, TreeNode? parent = null)
{
var checkbox = new CheckBox()
{
IsChecked = isChecked,
Content = text,
Tag = tag ?? text,
ToolTip = tag ?? text,
VerticalAlignment = VerticalAlignment.Center
};
// 处理选中状态变化
checkbox.Checked += (s, e) => OnCheckboxStateChanged(checkbox, true);
checkbox.Unchecked += (s, e) => OnCheckboxStateChanged(checkbox, false);
var node = new CheckboxTreeNode
{
Text = text,
obj = checkbox
};
AddNode(node, parent);
return node;
}
public ComboboxTreeNode AddComboboxNode(string text, List<string>? items = null, TreeNode? parent = null)
{
var combobox = new ComboBox()
{
SelectedIndex = 0,
VerticalAlignment = VerticalAlignment.Center,
MinWidth = 100
};
// 处理选择改变事件
combobox.SelectionChanged += (s, e) =>
{
if (combobox.SelectedItem is string selected)
{
OnComboboxSelectionChanged(combobox, selected);
}
};
var node = new ComboboxTreeNode
{
Text = text,
obj = combobox
};
AddNode(node, parent);
return node;
}
// 可选:添加事件处理方法
private void OnCheckboxStateChanged(CheckBox checkbox, bool isChecked)
{
// 这里可以处理复选框状态变化逻辑
Debug.WriteLine($"Checkbox '{checkbox.Tag}' changed to: {isChecked}");
}
private void OnComboboxSelectionChanged(ComboBox combobox, string selectedValue)
{
// 这里可以处理组合框选择变化逻辑
Debug.WriteLine($"Combobox selection changed to: {selectedValue}");
}
#endregion #endregion
#region () #region ()
@@ -92,9 +157,9 @@ namespace Ramitta
var tags = new List<string>(); var tags = new List<string>();
foreach (var node in nodes) foreach (var node in nodes)
{ {
if (node is CheckboxTreeNode checkboxNode && checkboxNode.IsChecked) if (node is CheckboxTreeNode checkboxNode && (checkboxNode.obj.IsChecked ?? false))
{ {
tags.Add(checkboxNode.Tag); tags.Add(checkboxNode.obj.Tag.ToString());
} }
// 递归查找子节点 // 递归查找子节点
@@ -113,9 +178,9 @@ namespace Ramitta
var tags = new List<string>(); var tags = new List<string>();
foreach (var node in nodes) foreach (var node in nodes)
{ {
if (node is CheckboxTreeNode checkboxNode && checkboxNode.IsChecked != true) if (node is CheckboxTreeNode checkboxNode && checkboxNode.obj.IsChecked != true)
{ {
tags.Add(checkboxNode.Tag); tags.Add(checkboxNode.obj.Tag.ToString());
} }
// 递归查找子节点 // 递归查找子节点
@@ -124,34 +189,6 @@ namespace Ramitta
return tags; return tags;
} }
public List<CheckboxTreeNode> GetNoCheckBoxNodes(bool check)
{
return GetAllNodes().OfType<CheckboxTreeNode>().
Where(n =>
(check ? n.IsChecked : !n.IsChecked)
).ToList();
}
/// <summary>
/// 获取指定Label节点下所有被勾选的Checkbox节点的Tag列表
/// </summary>
/// <param name="labelNodeName">Label节点的名称</param>
/// <returns>被勾选Checkbox节点的Tag列表</returns>
public List<string> GetCheckboxTagsUnderLabelNode(string labelNodeName)
{
var tags = new List<string>();
List<LabelTreeNode> getTreeNode = FindTreeNodes<LabelTreeNode>(Nodes, labelNodeName);
var labelNode = getTreeNode.Count != 0 ? getTreeNode[0] : null;
if (labelNode != null)
{
tags.AddRange(GetCheckedCheckboxTags(labelNode.Children));
}
return tags;
}
#endregion #endregion
#region #region
@@ -211,6 +248,8 @@ namespace Ramitta
} }
return result; return result;
} }
// 改这个玩意 // 改这个玩意
public xControl? Find<xTreeNode, xControl>(IEnumerable<TreeNode>? nodes, string key) public xControl? Find<xTreeNode, xControl>(IEnumerable<TreeNode>? nodes, string key)
where xTreeNode : class where xTreeNode : class
@@ -281,6 +320,10 @@ namespace Ramitta
return null; return null;
} }
public JObject JsonPrint(IEnumerable<TreeNode>? nodes, int loop = 0) public JObject JsonPrint(IEnumerable<TreeNode>? nodes, int loop = 0)
{ {
// 如果传入的节点为空,使用默认的 Nodes 集合 // 如果传入的节点为空,使用默认的 Nodes 集合
@@ -298,14 +341,14 @@ namespace Ramitta
if (node.GetType() == typeof(CheckboxTreeNode)) if (node.GetType() == typeof(CheckboxTreeNode))
{ {
nodeObject["IsChecked"] = (node as CheckboxTreeNode)?.IsChecked.ToString(); nodeObject["IsChecked"] = (node as CheckboxTreeNode)?.obj.IsChecked.ToString();
} }
if (node.GetType() == typeof(ComboboxTreeNode)) if (node.GetType() == typeof(ComboboxTreeNode))
{ {
var target = node as ComboboxTreeNode; var target = node as ComboboxTreeNode;
nodeObject["SelectedItem"] = target?.SelectedItem.ToString(); nodeObject["SelectedItem"] = target?.obj.SelectedItem.ToString();
} }
@@ -416,15 +459,48 @@ namespace Ramitta
} }
#region #region
public abstract class TreeNode public abstract class TreeNode : INotifyPropertyChanged
{ {
public TreeNode() private string _text;
private ObservableCollection<TreeNode> _children;
public event PropertyChangedEventHandler? PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{ {
Children = new ObservableCollection<TreeNode>(); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
} }
public string Text { get; set; } public TreeNode()
public ObservableCollection<TreeNode> Children { get; set; } {
_children = new ObservableCollection<TreeNode>();
}
public string Text
{
get => _text;
set
{
if (_text != value)
{
_text = value;
OnPropertyChanged(nameof(Text));
}
}
}
public ObservableCollection<TreeNode> Children
{
get => _children;
set
{
if (_children != value)
{
_children = value;
OnPropertyChanged(nameof(Children));
}
}
}
} }
/// <summary> /// <summary>
@@ -432,15 +508,41 @@ namespace Ramitta
/// </summary> /// </summary>
public class LabelTreeNode : TreeNode public class LabelTreeNode : TreeNode
{ {
private Label _obj;
public Label obj
{
get => _obj;
set
{
if (_obj != value)
{
_obj = value;
OnPropertyChanged(nameof(obj));
}
}
}
} }
/// <summary> /// <summary>
/// Label类型的树节点 /// Combobox类型的树节点
/// </summary> /// </summary>
public class ComboboxTreeNode : TreeNode public class ComboboxTreeNode : TreeNode
{ {
public string SelectedItem { get; set; } private ComboBox _obj;
public ObservableCollection<string> ComboBoxItems { get; set; } = new ObservableCollection<string>();
public ComboBox obj
{
get => _obj;
set
{
if (_obj != value)
{
_obj = value;
OnPropertyChanged(nameof(obj));
}
}
}
} }
/// <summary> /// <summary>
@@ -448,20 +550,20 @@ namespace Ramitta
/// </summary> /// </summary>
public class CheckboxTreeNode : TreeNode public class CheckboxTreeNode : TreeNode
{ {
public string Tag { get; set; } private CheckBox _obj;
private bool _isChecked;
public bool IsChecked public CheckBox obj
{ {
get { return _isChecked; } get => _obj;
set set
{ {
if (_isChecked != value) if (_obj != value)
{ {
_isChecked = value; _obj = value;
OnPropertyChanged(nameof(obj));
} }
} }
} }
} }
#endregion #endregion
} }