fix: 版本列表不能正常显示核心 NeoForge 版本
fix: 自动安装页 NeoForge 存在多余的描述 chores: NeoForge Icon 显示,但目前有点小问题
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -1,4 +1,5 @@
|
|||||||
Imports System.IO.Compression
|
Imports System.IO.Compression
|
||||||
|
Imports MS.Internal
|
||||||
|
|
||||||
Public Module ModMinecraft
|
Public Module ModMinecraft
|
||||||
|
|
||||||
@@ -345,7 +346,7 @@ Public Module ModMinecraft
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
'从 Forge Arguments 中获取版本号
|
'从 Forge / NeoForge Arguments 中获取版本号
|
||||||
If JsonObject("arguments") IsNot Nothing AndAlso JsonObject("arguments")("game") IsNot Nothing Then
|
If JsonObject("arguments") IsNot Nothing AndAlso JsonObject("arguments")("game") IsNot Nothing Then
|
||||||
Dim Mark As Boolean = False
|
Dim Mark As Boolean = False
|
||||||
For Each Argument In JsonObject("arguments")("game")
|
For Each Argument In JsonObject("arguments")("game")
|
||||||
@@ -729,12 +730,20 @@ Recheck:
|
|||||||
State = McVersionState.Fabric
|
State = McVersionState.Fabric
|
||||||
Version.FabricVersion = If(RegexSeek(RealJson, "(?<=(net.fabricmc:fabric-loader:)|(org.quiltmc:quilt-loader:))[0-9\.]+(\+build.[0-9]+)?"), "未知版本").Replace("+build", "")
|
Version.FabricVersion = If(RegexSeek(RealJson, "(?<=(net.fabricmc:fabric-loader:)|(org.quiltmc:quilt-loader:))[0-9\.]+(\+build.[0-9]+)?"), "未知版本").Replace("+build", "")
|
||||||
Version.HasFabric = True
|
Version.HasFabric = True
|
||||||
ElseIf RealJson.Contains("minecraftforge") Then
|
ElseIf RealJson.Contains("minecraftforge") AndAlso Not RealJson.Contains("neoforge") Then
|
||||||
State = McVersionState.Forge
|
State = McVersionState.Forge
|
||||||
Version.ForgeVersion = RegexSeek(RealJson, "(?<=forge:[0-9\.]+(_pre[0-9]*)?\-)[0-9\.]+")
|
Version.ForgeVersion = RegexSeek(RealJson, "(?<=forge:[0-9\.]+(_pre[0-9]*)?\-)[0-9\.]+")
|
||||||
If Version.ForgeVersion Is Nothing Then Version.ForgeVersion = RegexSeek(RealJson, "(?<=net\.minecraftforge:minecraftforge:)[0-9\.]+")
|
If Version.ForgeVersion Is Nothing Then Version.ForgeVersion = RegexSeek(RealJson, "(?<=net\.minecraftforge:minecraftforge:)[0-9\.]+")
|
||||||
If Version.ForgeVersion Is Nothing Then Version.ForgeVersion = If(RegexSeek(RealJson, "(?<=net\.minecraftforge:fmlloader:[0-9\.]+-)[0-9\.]+"), "未知版本")
|
If Version.ForgeVersion Is Nothing Then Version.ForgeVersion = If(RegexSeek(RealJson, "(?<=net\.minecraftforge:fmlloader:[0-9\.]+-)[0-9\.]+"), "未知版本")
|
||||||
Version.HasForge = True
|
Version.HasForge = True
|
||||||
|
ElseIf RealJson.Contains("neoforge") Then
|
||||||
|
State = McVersionState.NeoForge
|
||||||
|
Dim JsonStr1() As String = RealJson.Replace(" ", "").Split("""--fml.neoForgeVersion""," & vbCrLf & """") '这里的实现比较抽象,正则我写不会
|
||||||
|
Dim JsonStr2() As String = JsonStr1(1).Split("""")
|
||||||
|
Version.NeoForgeVersion = JsonStr2(0)
|
||||||
|
If Version.NeoForgeVersion Is Nothing Then Version.NeoForgeVersion = RegexSeek(RealJson, "(?<=""--fml.neoForgeVersion"",)[0-9\.]+")
|
||||||
|
If Version.NeoForgeVersion Is Nothing Then Version.NeoForgeVersion = If(RegexSeek(RealJson, "(?<=net\.minecraftforge:fmlloader:[0-9\.]+-)[0-9\.]+"), "未知版本")
|
||||||
|
Version.HasNeoForge = True
|
||||||
End If
|
End If
|
||||||
Version.IsApiLoaded = True
|
Version.IsApiLoaded = True
|
||||||
End Select
|
End Select
|
||||||
@@ -752,6 +761,8 @@ ExitDataLoad:
|
|||||||
Logo = PathImage & "Blocks/CobbleStone.png"
|
Logo = PathImage & "Blocks/CobbleStone.png"
|
||||||
Case McVersionState.Forge
|
Case McVersionState.Forge
|
||||||
Logo = PathImage & "Blocks/Anvil.png"
|
Logo = PathImage & "Blocks/Anvil.png"
|
||||||
|
Case McVersionState.NeoForge
|
||||||
|
Logo = PathImage & "Icons/NeoForged.png"
|
||||||
Case McVersionState.Fabric
|
Case McVersionState.Fabric
|
||||||
Logo = PathImage & "Blocks/Fabric.png"
|
Logo = PathImage & "Blocks/Fabric.png"
|
||||||
Case McVersionState.OptiFine
|
Case McVersionState.OptiFine
|
||||||
@@ -780,7 +791,7 @@ ExitDataLoad:
|
|||||||
End If
|
End If
|
||||||
Case McVersionState.Old
|
Case McVersionState.Old
|
||||||
Info = "远古版本"
|
Info = "远古版本"
|
||||||
Case McVersionState.Original, McVersionState.Forge, McVersionState.Fabric, McVersionState.OptiFine, McVersionState.LiteLoader
|
Case McVersionState.Original, McVersionState.Forge, McVersionState.NeoForge, McVersionState.Fabric, McVersionState.OptiFine, McVersionState.LiteLoader
|
||||||
Info = Version.ToString
|
Info = Version.ToString
|
||||||
Case McVersionState.Fool
|
Case McVersionState.Fool
|
||||||
Info = GetMcFoolName(Version.McName)
|
Info = GetMcFoolName(Version.McName)
|
||||||
@@ -813,6 +824,7 @@ ExitDataLoad:
|
|||||||
WriteIni(Path & "PCL\Setup.ini", "VersionOptiFine", Version.OptiFineVersion)
|
WriteIni(Path & "PCL\Setup.ini", "VersionOptiFine", Version.OptiFineVersion)
|
||||||
WriteIni(Path & "PCL\Setup.ini", "VersionLiteLoader", Version.HasLiteLoader)
|
WriteIni(Path & "PCL\Setup.ini", "VersionLiteLoader", Version.HasLiteLoader)
|
||||||
WriteIni(Path & "PCL\Setup.ini", "VersionForge", Version.ForgeVersion)
|
WriteIni(Path & "PCL\Setup.ini", "VersionForge", Version.ForgeVersion)
|
||||||
|
WriteIni(Path & "PCL\Setup.ini", "VersionNeoForge", Version.NeoForgeVersion)
|
||||||
WriteIni(Path & "PCL\Setup.ini", "VersionApiCode", Version.SortCode)
|
WriteIni(Path & "PCL\Setup.ini", "VersionApiCode", Version.SortCode)
|
||||||
WriteIni(Path & "PCL\Setup.ini", "VersionOriginal", Version.McName)
|
WriteIni(Path & "PCL\Setup.ini", "VersionOriginal", Version.McName)
|
||||||
WriteIni(Path & "PCL\Setup.ini", "VersionOriginalMain", Version.McCodeMain)
|
WriteIni(Path & "PCL\Setup.ini", "VersionOriginalMain", Version.McCodeMain)
|
||||||
@@ -852,6 +864,7 @@ ExitDataLoad:
|
|||||||
OptiFine
|
OptiFine
|
||||||
Old
|
Old
|
||||||
Forge
|
Forge
|
||||||
|
NeoForge
|
||||||
LiteLoader
|
LiteLoader
|
||||||
Fabric
|
Fabric
|
||||||
End Enum
|
End Enum
|
||||||
@@ -903,6 +916,17 @@ ExitDataLoad:
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public ForgeVersion As String = ""
|
Public ForgeVersion As String = ""
|
||||||
|
|
||||||
|
'NeoForge
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' 该版本是否安装了 NeoForge。
|
||||||
|
''' </summary>
|
||||||
|
Public HasNeoForge As Boolean = False
|
||||||
|
''' <summary>
|
||||||
|
''' NeoForge 版本号,如 31.1.2、14.23.5.2847。
|
||||||
|
''' </summary>
|
||||||
|
Public NeoForgeVersion As String = ""
|
||||||
|
|
||||||
'Fabric
|
'Fabric
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
@@ -929,6 +953,7 @@ ExitDataLoad:
|
|||||||
Public Overrides Function ToString() As String
|
Public Overrides Function ToString() As String
|
||||||
ToString = ""
|
ToString = ""
|
||||||
If HasForge Then ToString += ", Forge" & If(ForgeVersion = "未知版本", "", " " & ForgeVersion)
|
If HasForge Then ToString += ", Forge" & If(ForgeVersion = "未知版本", "", " " & ForgeVersion)
|
||||||
|
If HasNeoForge Then ToString += ", NeoForge" & If(NeoForgeVersion = "未知版本", "", " " & NeoForgeVersion)
|
||||||
If HasFabric Then ToString += ", Fabric" & If(FabricVersion = "未知版本", "", " " & FabricVersion)
|
If HasFabric Then ToString += ", Fabric" & If(FabricVersion = "未知版本", "", " " & FabricVersion)
|
||||||
If HasOptiFine Then ToString += ", OptiFine" & If(OptiFineVersion = "未知版本", "", " " & OptiFineVersion)
|
If HasOptiFine Then ToString += ", OptiFine" & If(OptiFineVersion = "未知版本", "", " " & OptiFineVersion)
|
||||||
If HasLiteLoader Then ToString += ", LiteLoader"
|
If HasLiteLoader Then ToString += ", LiteLoader"
|
||||||
@@ -965,6 +990,16 @@ ExitDataLoad:
|
|||||||
Else
|
Else
|
||||||
Throw New Exception("无效的 Forge 版本:" & ForgeVersion)
|
Throw New Exception("无效的 Forge 版本:" & ForgeVersion)
|
||||||
End If
|
End If
|
||||||
|
ElseIf HasNeoForge Then
|
||||||
|
If NeoForgeVersion = "未知版本" Then Return 0
|
||||||
|
Dim SubVersions = NeoForgeVersion.Split(".")
|
||||||
|
If SubVersions.Length = 4 Then
|
||||||
|
_SortCode = Val(SubVersions(0)) * 1000000 + Val(SubVersions(1)) * 10000 + Val(SubVersions(3))
|
||||||
|
ElseIf SubVersions.Length = 3 Then
|
||||||
|
_SortCode = Val(SubVersions(0)) * 1000000 + Val(SubVersions(1)) * 10000 + Val(SubVersions(2))
|
||||||
|
Else
|
||||||
|
Throw New Exception("无效的 NeoForge 版本:" & NeoForgeVersion)
|
||||||
|
End If
|
||||||
ElseIf HasOptiFine Then
|
ElseIf HasOptiFine Then
|
||||||
If OptiFineVersion = "未知版本" Then Return 0
|
If OptiFineVersion = "未知版本" Then Return 0
|
||||||
'由对应原版次级版本号(2 位)、字母(2 位)、末尾数字(2 位)、测试标记(2 位,正式版为 99,Pre[x] 为 50+x,Beta[x] 为 x)组成
|
'由对应原版次级版本号(2 位)、字母(2 位)、末尾数字(2 位)、测试标记(2 位,正式版为 99,Pre[x] 为 50+x,Beta[x] 为 x)组成
|
||||||
@@ -1175,6 +1210,7 @@ OnLoaded:
|
|||||||
Dim VersionInfo As New McVersionInfo With {
|
Dim VersionInfo As New McVersionInfo With {
|
||||||
.FabricVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionFabric", ""),
|
.FabricVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionFabric", ""),
|
||||||
.ForgeVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionForge", ""),
|
.ForgeVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionForge", ""),
|
||||||
|
.NeoForgeVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionNeoForge", ""),
|
||||||
.OptiFineVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionOptiFine", ""),
|
.OptiFineVersion = ReadIni(Version.Path & "PCL\Setup.ini", "VersionOptiFine", ""),
|
||||||
.HasLiteLoader = ReadIni(Version.Path & "PCL\Setup.ini", "VersionLiteLoader", False),
|
.HasLiteLoader = ReadIni(Version.Path & "PCL\Setup.ini", "VersionLiteLoader", False),
|
||||||
.SortCode = ReadIni(Version.Path & "PCL\Setup.ini", "VersionApiCode", -1),
|
.SortCode = ReadIni(Version.Path & "PCL\Setup.ini", "VersionApiCode", -1),
|
||||||
@@ -1185,6 +1221,7 @@ OnLoaded:
|
|||||||
}
|
}
|
||||||
VersionInfo.HasFabric = VersionInfo.FabricVersion.Count > 1
|
VersionInfo.HasFabric = VersionInfo.FabricVersion.Count > 1
|
||||||
VersionInfo.HasForge = VersionInfo.ForgeVersion.Count > 1
|
VersionInfo.HasForge = VersionInfo.ForgeVersion.Count > 1
|
||||||
|
VersionInfo.HasNeoForge = VersionInfo.NeoForgeVersion.Count > 1
|
||||||
VersionInfo.HasOptiFine = VersionInfo.OptiFineVersion.Count > 1
|
VersionInfo.HasOptiFine = VersionInfo.OptiFineVersion.Count > 1
|
||||||
Version.Version = VersionInfo
|
Version.Version = VersionInfo
|
||||||
End If
|
End If
|
||||||
@@ -1273,7 +1310,7 @@ OnLoaded:
|
|||||||
McVersionFilter(VersionList, VersionListOriginal, {McVersionState.Fool}, McVersionCardType.Fool)
|
McVersionFilter(VersionList, VersionListOriginal, {McVersionState.Fool}, McVersionCardType.Fool)
|
||||||
|
|
||||||
'筛选 API 版本
|
'筛选 API 版本
|
||||||
McVersionFilter(VersionList, VersionListOriginal, {McVersionState.Forge, McVersionState.LiteLoader, McVersionState.Fabric}, McVersionCardType.API)
|
McVersionFilter(VersionList, VersionListOriginal, {McVersionState.Forge, McVersionState.NeoForge, McVersionState.LiteLoader, McVersionState.Fabric}, McVersionCardType.API)
|
||||||
|
|
||||||
'将老版本预先分类入不常用,只剩余原版、快照、OptiFine
|
'将老版本预先分类入不常用,只剩余原版、快照、OptiFine
|
||||||
Dim VersionUseful As New List(Of McVersion)
|
Dim VersionUseful As New List(Of McVersion)
|
||||||
@@ -1407,7 +1444,7 @@ OnLoaded:
|
|||||||
End Function)
|
End Function)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'API 版本:优先按版本排序,此后【先放 Fabric,再放 Forge(按版本号从高到低排序),最后放 LiteLoader(按名称排序)】
|
'API 版本:优先按版本排序,此后【先放 Fabric,再放 Forge,再放 NeoForge(按版本号从高到低排序),最后放 LiteLoader(按名称排序)】
|
||||||
If ResultVersionList.ContainsKey(McVersionCardType.API) Then
|
If ResultVersionList.ContainsKey(McVersionCardType.API) Then
|
||||||
ResultVersionList(McVersionCardType.API) = Sort(ResultVersionList(McVersionCardType.API),
|
ResultVersionList(McVersionCardType.API) = Sort(ResultVersionList(McVersionCardType.API),
|
||||||
Function(Left As McVersion, Right As McVersion)
|
Function(Left As McVersion, Right As McVersion)
|
||||||
@@ -1419,6 +1456,8 @@ OnLoaded:
|
|||||||
Return Left.Version.HasFabric
|
Return Left.Version.HasFabric
|
||||||
ElseIf Left.Version.HasForge Xor Right.Version.HasForge Then
|
ElseIf Left.Version.HasForge Xor Right.Version.HasForge Then
|
||||||
Return Left.Version.HasForge
|
Return Left.Version.HasForge
|
||||||
|
ElseIf Left.Version.HasNeoForge Xor Right.Version.HasNeoForge Then
|
||||||
|
Return Left.Version.HasNeoForge
|
||||||
ElseIf Not Left.Version.SortCode <> Right.Version.SortCode Then
|
ElseIf Not Left.Version.SortCode <> Right.Version.SortCode Then
|
||||||
Return Left.Version.SortCode > Right.Version.SortCode
|
Return Left.Version.SortCode > Right.Version.SortCode
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -2194,9 +2194,9 @@ Retry:
|
|||||||
.Title = If(Entry.IsBeta, Entry.StdVersion & "-beta", Entry.StdVersion), .SnapsToDevicePixels = True, .Height = 42, .Type = MyListItem.CheckType.Clickable, .Tag = Entry,
|
.Title = If(Entry.IsBeta, Entry.StdVersion & "-beta", Entry.StdVersion), .SnapsToDevicePixels = True, .Height = 42, .Type = MyListItem.CheckType.Clickable, .Tag = Entry,
|
||||||
.Info = If(Entry.IsBeta, "测试版", "稳定版") &
|
.Info = If(Entry.IsBeta, "测试版", "稳定版") &
|
||||||
If(Entry.ReleaseTime = "",
|
If(Entry.ReleaseTime = "",
|
||||||
If(ModeDebug, "种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), ""),
|
If(ModeDebug, If(Entry.Category IsNot Nothing, "种类:" & Entry.Category, "") & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), ""),
|
||||||
"发布于 " & Entry.ReleaseTime & If(ModeDebug, ",种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), "")),
|
"发布于 " & Entry.ReleaseTime & If(ModeDebug, ",种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), "")),
|
||||||
.Logo = PathImage & "Blocks/Anvil.png"
|
.Logo = PathImage & "Icons/NeoForged.png"
|
||||||
}
|
}
|
||||||
AddHandler NewItem.Click, OnClick
|
AddHandler NewItem.Click, OnClick
|
||||||
'建立菜单
|
'建立菜单
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
<ColumnDefinition Width="1*" />
|
<ColumnDefinition Width="1*" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Image x:Name="ImgNeoForge" Margin="0,0,7,0" SnapsToDevicePixels="True" Height="18" RenderOptions.BitmapScalingMode="Linear" Source="pack://application:,,,/images/Blocks/Anvil.png" />
|
<Image x:Name="ImgNeoForge" Margin="0,0,7,0" SnapsToDevicePixels="True" Height="18" RenderOptions.BitmapScalingMode="Linear" Source="pack://application:,,,/images/Icons/NeoForged.png" />
|
||||||
<TextBlock x:Name="LabNeoForge" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Grid.Column="1" />
|
<TextBlock x:Name="LabNeoForge" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Grid.Column="1" />
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid x:Name="BtnNeoForgeClear" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,5,32,0" Background="{StaticResource ColorBrushSemiTransparent}">
|
<Grid x:Name="BtnNeoForgeClear" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,5,32,0" Background="{StaticResource ColorBrushSemiTransparent}">
|
||||||
|
|||||||
@@ -541,7 +541,7 @@
|
|||||||
ElseIf SelectedForge IsNot Nothing Then
|
ElseIf SelectedForge IsNot Nothing Then
|
||||||
Return "pack://application:,,,/images/Blocks/Anvil.png"
|
Return "pack://application:,,,/images/Blocks/Anvil.png"
|
||||||
ElseIf SelectedNeoForge IsNot Nothing Then
|
ElseIf SelectedNeoForge IsNot Nothing Then
|
||||||
Return "pack://application:,,,/images/Blocks/Anvil.png"
|
Return "pack://application:,,,/images/Icons/NeoForged.png"
|
||||||
ElseIf SelectedLiteLoader IsNot Nothing Then
|
ElseIf SelectedLiteLoader IsNot Nothing Then
|
||||||
Return "pack://application:,,,/images/Blocks/Egg.png"
|
Return "pack://application:,,,/images/Blocks/Egg.png"
|
||||||
ElseIf SelectedOptiFine IsNot Nothing Then
|
ElseIf SelectedOptiFine IsNot Nothing Then
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
<local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
|
<local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
|
||||||
<local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
|
<local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
|
||||||
<local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
|
<local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
|
||||||
|
<local:MyComboBoxItem Content="狐狸(NeoForge)" Tag="pack://application:,,,/images/Icons/NeoForged.png" />
|
||||||
</local:MyComboBox>
|
</local:MyComboBox>
|
||||||
<TextBlock VerticalAlignment="Center" Grid.Row="2" HorizontalAlignment="Left" Text="分类" Margin="0,0,25,0" />
|
<TextBlock VerticalAlignment="Center" Grid.Row="2" HorizontalAlignment="Left" Text="分类" Margin="0,0,25,0" />
|
||||||
<local:MyComboBox Grid.Column="1" Grid.Row="2" x:Name="ComboDisplayType">
|
<local:MyComboBox Grid.Column="1" Grid.Row="2" x:Name="ComboDisplayType">
|
||||||
|
|||||||
@@ -202,6 +202,8 @@
|
|||||||
<!-- 鸡蛋 -->
|
<!-- 鸡蛋 -->
|
||||||
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Blocks/Fabric.png"/>
|
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Blocks/Fabric.png"/>
|
||||||
<!-- 布料(Fabric 图标) -->
|
<!-- 布料(Fabric 图标) -->
|
||||||
|
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Icons/NeoForged.png"/>
|
||||||
|
<!-- 狐狸(NeoForge 图标) -->
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<TextBlock TextWrapping="Wrap" Margin="0,0,0,4"
|
<TextBlock TextWrapping="Wrap" Margin="0,0,0,4"
|
||||||
Text="使用时,将上方对应行的 Source 复制到 MyListItem 的 Logo 属性处即可。"/>
|
Text="使用时,将上方对应行的 Source 复制到 MyListItem 的 Logo 属性处即可。"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user