Skip to content

Commit

Permalink
sync: apply fix from ce
Browse files Browse the repository at this point in the history
  • Loading branch information
tangge233 committed Jan 22, 2025
1 parent 079b6d9 commit f564d2d
Showing 1 changed file with 73 additions and 66 deletions.
139 changes: 73 additions & 66 deletions Plain Craft Launcher 2/Pages/PageVersion/PageVersionScreenshot.xaml.vb
Original file line number Diff line number Diff line change
Expand Up @@ -56,73 +56,80 @@ Public Class PageVersionScreenshot
FileList.Clear()
If Directory.Exists(ScreenshotPath) Then FileList = Directory.EnumerateFiles(ScreenshotPath, "*.png", SearchOption.AllDirectories).ToList()
PanList.Children.Clear()
If ModeDebug Then Log("[Screenshot] 共发现 " & FileList.Count & " 个截图文件", LogLevel.Debug)
Log("[Screenshot] 共发现 " & FileList.Count & " 个截图文件")
For Each i In FileList
If i.ContainsF("\debug\") Then Continue For ' 排除资源包调试输出
Dim myCard As New MyCard With {
.Height = Double.NaN, ' 允许高度自适应
.Width = Double.NaN, ' 允许宽度自适应
.Margin = New Thickness(7),
.Tag = i,
.ToolTip = i.Replace(ScreenshotPath, "") '适配高清截图模组
}
Dim grid As New Grid
myCard.Children.Add(grid)

grid.RowDefinitions.Add(New RowDefinition With {.Height = New GridLength(9)})
grid.RowDefinitions.Add(New RowDefinition With {.Height = New GridLength(120)})
grid.RowDefinitions.Add(New RowDefinition)

'图片
Dim image As New Image
Dim bitmapImage As New BitmapImage()
bitmapImage.BeginInit()
bitmapImage.UriSource = New Uri(i) ' 直接使用文件路径加载图片
bitmapImage.CacheOption = BitmapCacheOption.OnLoad ' 立即加载并释放文件流
bitmapImage.EndInit()
bitmapImage.Freeze() ' 冻结图像以提高性能
image.Source = bitmapImage
image.Stretch = Stretch.Uniform ' 使图片自适应控件大小
Grid.SetRow(image, 1)
grid.Children.Add(image)

'按钮
Dim stackPanel As New StackPanel
stackPanel.Orientation = Orientation.Horizontal
stackPanel.HorizontalAlignment = HorizontalAlignment.Center
stackPanel.Margin = New Thickness(3, 5, 3, 5)
Grid.SetRow(stackPanel, 2)
grid.Children.Add(stackPanel)

Dim btnOpen As New MyIconTextButton With {
.Name = "BtnOpen",
.Text = "打开",
Try
If i.ContainsF("\debug\") Then Continue For ' 排除资源包调试输出
If Not File.Exists(i) Then Continue For ' 文件在加载途中消失了
If File.GetAttributes(i).HasFlag(FileAttributes.Hidden) Then Continue For ' 隐藏文件
If New FileInfo(i).Length = 0 Then Continue For ' 空文件
Dim myCard As New MyCard With {
.Height = Double.NaN, ' 允许高度自适应
.Width = Double.NaN, ' 允许宽度自适应
.Margin = New Thickness(7),
.Tag = i,
.ToolTip = i.Replace(ScreenshotPath, "") '适配高清截图模组
}
Dim grid As New Grid
myCard.Children.Add(grid)

grid.RowDefinitions.Add(New RowDefinition With {.Height = New GridLength(9)})
grid.RowDefinitions.Add(New RowDefinition With {.Height = New GridLength(120)})
grid.RowDefinitions.Add(New RowDefinition)

'图片
Dim image As New Image
Dim bitmapImage As New BitmapImage()
bitmapImage.BeginInit()
bitmapImage.UriSource = New Uri(i) ' 直接使用文件路径加载图片
bitmapImage.CacheOption = BitmapCacheOption.OnLoad ' 立即加载并释放文件流
bitmapImage.EndInit()
bitmapImage.Freeze() ' 冻结图像以提高性能
image.Source = bitmapImage
image.Stretch = Stretch.Uniform ' 使图片自适应控件大小
Grid.SetRow(image, 1)
grid.Children.Add(image)

'按钮
Dim stackPanel As New StackPanel
stackPanel.Orientation = Orientation.Horizontal
stackPanel.HorizontalAlignment = HorizontalAlignment.Center
stackPanel.Margin = New Thickness(3, 5, 3, 5)
Grid.SetRow(stackPanel, 2)
grid.Children.Add(stackPanel)

Dim btnOpen As New MyIconTextButton With {
.Name = "BtnOpen",
.Text = "打开",
.LogoScale = 0.8,
.Logo = Logo.IconButtonOpen,
.Tag = i
}
AddHandler btnOpen.Click, AddressOf btnOpen_Click
stackPanel.Children.Add(btnOpen)
Dim btnDelete As New MyIconTextButton With {
.Name = "BtnDelete",
.Text = "删除",
.LogoScale = 0.8,
.Logo = Logo.IconButtonDelete,
.Tag = i
}
AddHandler btnDelete.Click, AddressOf btnDelete_Click
stackPanel.Children.Add(btnDelete)
Dim btnCopy As New MyIconTextButton With {
.Name = "BtnCopy",
.Text = "复制",
.LogoScale = 0.8,
.Logo = Logo.IconButtonOpen,
.Tag = i
}
AddHandler btnOpen.Click, AddressOf btnOpen_Click
stackPanel.Children.Add(btnOpen)
Dim btnDelete As New MyIconTextButton With {
.Name = "BtnDelete",
.Text = "删除",
.LogoScale = 0.8,
.Logo = Logo.IconButtonDelete,
.Tag = i
}
AddHandler btnDelete.Click, AddressOf btnDelete_Click
stackPanel.Children.Add(btnDelete)
Dim btnCopy As New MyIconTextButton With {
.Name = "BtnCopy",
.Text = "复制",
.LogoScale = 0.8,
.Logo = Logo.IconButtonCopy,
.Tag = i
}
AddHandler btnCopy.Click, AddressOf btnCopy_Click
stackPanel.Children.Add(btnCopy)

PanList.Children.Add(myCard)
.Logo = Logo.IconButtonCopy,
.Tag = i
}
AddHandler btnCopy.Click, AddressOf btnCopy_Click
stackPanel.Children.Add(btnCopy)

PanList.Children.Add(myCard)
Catch ex As Exception
Log(ex, $"[Screenshot] 加载图片 {i} 失败", LogLevel.Hint)
End Try
Next
RefreshUI()
End Sub
Expand All @@ -136,7 +143,7 @@ Public Class PageVersionScreenshot
End If
Next
Catch ex As Exception
Log(ex, "未能找到对应 UI")
Log(ex, "[Screenshot] 未能找到对应 UI")
End Try
End Sub

Expand Down

0 comments on commit f564d2d

Please sign in to comment.