PageDownloadNeoForge.xaml.vb 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. Public Class PageDownloadNeoForge
  2. Private Sub LoaderInit() Handles Me.Initialized
  3. PageLoaderInit(Load, PanLoad, PanMain, CardTip, DlNeoForgeListLoader, 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 = DlNeoForgeListLoader.Output.Value.GroupBy(Function(d) d.Inherit).OrderByDescending(Function(g) g.Key).
  13. ToDictionary(Function(g) g.Key, Function(g) g.ToList())
  14. '清空当前
  15. PanMain.Children.Clear()
  16. '转化为 UI
  17. For Each Pair As KeyValuePair(Of String, List(Of DlNeoForgeListEntry)) In Dict
  18. If Not Pair.Value.Any() Then Continue For
  19. '增加卡片
  20. Dim NewCard As New MyCard With {.Title = Pair.Key & " (" & Pair.Value.Count & ")", .Margin = New Thickness(0, 0, 0, 15), .SwapType = 13}
  21. 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}
  22. NewCard.Children.Add(NewStack)
  23. NewCard.SwapControl = NewStack
  24. NewCard.IsSwaped = True
  25. PanMain.Children.Add(NewCard)
  26. Next
  27. Catch ex As Exception
  28. Log(ex, "可视化 NeoForge 版本列表出错", LogLevel.Feedback)
  29. End Try
  30. End Sub
  31. End Class