Kaynağa Gözat

feat: 无可更新 Mod 时隐藏对应卡片

tangge233 2 yıl önce
ebeveyn
işleme
d915cd48f6

+ 10 - 5
Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml.vb

@@ -146,14 +146,16 @@
     ''' 刷新卡片标题。
     ''' 刷新卡片标题。
     ''' </summary>
     ''' </summary>
     Private Sub RefreshTitle()
     Private Sub RefreshTitle()
-        RefreshTargetTitle(PanDefaultListBack, PanDefaultList, "启用 Mod")
+        RefreshTargetTitle(PanDefaultListBack, PanDefaultList, "已启用 Mod")
         RefreshTargetTitle(PanUpdateListBack, PanUpdateList, "可更新 Mod")
         RefreshTargetTitle(PanUpdateListBack, PanUpdateList, "可更新 Mod")
-        RefreshTargetTitle(PanDisabledListBack, PanDisabledList, "禁用 Mod")
+        '没有可以更新的 Mod 就暂时隐藏卡片
+        PanUpdateListBack.Visibility = If(PanUpdateList.Children.Count.Equals(0), Visibility.Collapsed, Visibility.Visible)
+        RefreshTargetTitle(PanDisabledListBack, PanDisabledList, "已禁用的 Mod")
         RefreshTargetTitle(PanUnavaliableListBack, PanUnavaliableList, "暂不可用 Mod")
         RefreshTargetTitle(PanUnavaliableListBack, PanUnavaliableList, "暂不可用 Mod")
     End Sub
     End Sub
 
 
     Private Sub RefreshTargetTitle(Card As MyCard, List As StackPanel, Name As String)
     Private Sub RefreshTargetTitle(Card As MyCard, List As StackPanel, Name As String)
-        Dim Mods = List.Children.Cast(Of MyLocalModItem).Select(Function(i) i.Entry).ToList
+        Dim Mods = List.Children.Cast(Of MyLocalModItem).ToList
         If Not IsSearching Then
         If Not IsSearching Then
             Card.Title = Name & " 列表 (" & Mods.Count & ")"
             Card.Title = Name & " 列表 (" & Mods.Count & ")"
         ElseIf Mods.Any() Then
         ElseIf Mods.Any() Then
@@ -161,8 +163,11 @@
         Else
         Else
             Card.Title = Name & " 列表无搜索结果"
             Card.Title = Name & " 列表无搜索结果"
         End If
         End If
-        List.Visibility = If(Mods.Any(), Visibility.Visible, Visibility.Collapsed)
-        Card.CanSwap = If(Mods.Any(), True, False)
+        Dim IsContainItem As Boolean = Mods.Any()
+        List.Visibility = If(IsContainItem, Visibility.Visible, Visibility.Collapsed)
+        'CanSwap 设置无效果,不知道为什么
+        Card.CanSwap = IsContainItem
+        Card.IsSwaped = Not IsContainItem
     End Sub
     End Sub
 
 
 #End Region
 #End Region