PageDownloadLiteLoader.xaml.vb 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. Public Class PageDownloadLiteLoader
  2. Private Sub LoaderInit() Handles Me.Initialized
  3. PageLoaderInit(Load, PanLoad, PanMain, CardTip, DlLiteLoaderListLoader, AddressOf Load_OnFinish)
  4. End Sub
  5. Private Sub Init() Handles Me.Loaded
  6. PanBack.ScrollToHome()
  7. End Sub
  8. Private Sub Load_OnFinish()
  9. '结果数据化
  10. Try
  11. '归类
  12. Dim Dict As New Dictionary(Of String, List(Of DlLiteLoaderListEntry))
  13. For VersionCode As Integer = 30 To 0 Step -1
  14. Dict.Add("1." & VersionCode, New List(Of DlLiteLoaderListEntry))
  15. Next
  16. Dict.Add("未知版本", New List(Of DlLiteLoaderListEntry))
  17. For Each Version As DlLiteLoaderListEntry In DlLiteLoaderListLoader.Output.Value
  18. Dim MainVersion As String = "1." & Version.Inherit.Split(".")(1)
  19. If Dict.ContainsKey(MainVersion) Then
  20. Dict(MainVersion).Add(Version)
  21. Else
  22. Dict("未知版本").Add(Version)
  23. End If
  24. Next
  25. '清空当前
  26. PanMain.Children.Clear()
  27. '转化为 UI
  28. For Each Pair As KeyValuePair(Of String, List(Of DlLiteLoaderListEntry)) In Dict
  29. If Not Pair.Value.Any() Then Continue For
  30. '增加卡片
  31. Dim NewCard As New MyCard With {.Title = Pair.Key & " (" & Pair.Value.Count & ")", .Margin = New Thickness(0, 0, 0, 15), .SwapType = 10}
  32. Dim NewStack As New StackPanel With {.Margin = New Thickness(20, MyCard.SwapedHeight, 18, 0), .VerticalAlignment = VerticalAlignment.Top, .RenderTransform = New TranslateTransform(0, 0), .Tag = Pair.Value}
  33. NewCard.Children.Add(NewStack)
  34. NewCard.SwapControl = NewStack
  35. NewCard.IsSwaped = True
  36. PanMain.Children.Add(NewCard)
  37. Next
  38. Catch ex As Exception
  39. Log(ex, "可视化 LiteLoader 版本列表出错", LogLevel.Feedback)
  40. End Try
  41. End Sub
  42. Public Sub DownloadStart(sender As MyListItem, e As Object)
  43. McDownloadLiteLoader(sender.Tag)
  44. End Sub
  45. Private Sub BtnWeb_Click(sender As Object, e As EventArgs) Handles BtnWeb.Click
  46. OpenWebsite("https://www.liteloader.com")
  47. End Sub
  48. End Class