完成PageFriendsFollowing的左侧table加载

croire 3 years ago
parent 4b36040f39
commit 84c3403a94

@ -102,6 +102,9 @@
<system:String x:Key="FriendFollowing">关注</system:String>
<system:String x:Key="FriendFollower">粉丝</system:String>
<system:String x:Key="AllFollowing">全部关注</system:String>
<system:String x:Key="WhisperFollowing">悄悄关注</system:String>
<!-- VideoDetail -->
<system:String x:Key="CopyCover">复制封面图片</system:String>
<system:String x:Key="CopyCoverUrl">复制封面URL</system:String>

@ -7,6 +7,7 @@ using Prism.Events;
using Prism.Regions;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
namespace DownKyi.ViewModels.Friends
{
@ -14,6 +15,9 @@ namespace DownKyi.ViewModels.Friends
{
public const string Tag = "PageFriendsFollowing";
// mid
private long mid = -1;
#region 页面属性申明
private ObservableCollection<TabHeader> tabHeaders;
@ -35,19 +39,8 @@ namespace DownKyi.ViewModels.Friends
public ViewFollowingViewModel(IEventAggregator eventAggregator) : base(eventAggregator)
{
#region 属性初始化
List<FollowingGroup> followingGroup = UserRelation.GetFollowingGroup();
TabHeaders = new ObservableCollection<TabHeader>()
{
//new TabHeader{Id = 0, Title = DictionaryResource.GetString("FriendFollowing") },
new TabHeader{Id = -1, Title = "全部关注" },
new TabHeader{Id = -2, Title = "悄悄关注" },
};
foreach (FollowingGroup tag in followingGroup)
{
TabHeaders.Add(new TabHeader { Id = tag.TagId, Title = tag.Name, SubTitle = tag.Count.ToString() });
}
TabHeaders = new ObservableCollection<TabHeader>();
#endregion
}
@ -84,6 +77,40 @@ namespace DownKyi.ViewModels.Friends
#endregion
/// <summary>
/// 初始化左侧列表
/// </summary>
private async void InitLeftTable()
{
TabHeaders.Clear();
// 用户的关系状态数
UserRelationStat relationStat = null;
await Task.Run(() =>
{
relationStat = UserStatus.GetUserRelationStat(mid);
});
if (relationStat != null)
{
TabHeaders.Add(new TabHeader { Id = -1, Title = DictionaryResource.GetString("AllFollowing"), SubTitle = relationStat.Following.ToString() });
TabHeaders.Add(new TabHeader { Id = -2, Title = DictionaryResource.GetString("WhisperFollowing"), SubTitle = relationStat.Whisper.ToString() });
}
// 用户的关注分组
List<FollowingGroup> followingGroup = null;
await Task.Run(() =>
{
followingGroup = UserRelation.GetFollowingGroup();
});
if (followingGroup != null)
{
foreach (FollowingGroup tag in followingGroup)
{
TabHeaders.Add(new TabHeader { Id = tag.TagId, Title = tag.Name, SubTitle = tag.Count.ToString() });
}
}
}
/// <summary>
/// 导航到页面时执行
/// </summary>
@ -92,9 +119,26 @@ namespace DownKyi.ViewModels.Friends
{
base.OnNavigatedTo(navigationContext);
// 进入设置页面时显示的设置项
SelectTabId = 0;
// 传入mid
long parameter = navigationContext.Parameters.GetValue<long>("mid");
if (parameter == 0)
{
return;
}
mid = parameter;
// 是否是从PageFriends的headerTable的item点击进入的
// true表示加载PageFriends后第一次进入此页面
// false表示从headerTable的item点击进入的
bool isFirst = navigationContext.Parameters.GetValue<bool>("isFirst");
if (isFirst)
{
// 初始化左侧列表
InitLeftTable();
// 进入页面时显示的设置项
SelectTabId = 0;
}
}
}

@ -98,7 +98,7 @@ namespace DownKyi.ViewModels
{
if (!(parameter is TabHeader tabHeader)) { return; }
NavigationView(tabHeader.Id);
NavigationView(tabHeader.Id, false);
}
#endregion
@ -107,11 +107,16 @@ namespace DownKyi.ViewModels
/// 进入子页面
/// </summary>
/// <param name="id"></param>
private void NavigationView(int id)
/// <param name="isFirst"></param>
private void NavigationView(int id, bool isFirst)
{
// isFirst参数表示是否是从PageFriends的headerTable的item点击进入的
// true表示加载PageFriends后第一次进入
// false表示从headerTable的item点击进入
NavigationParameters param = new NavigationParameters()
{
{ "mid", mid },
{ "isFirst", isFirst },
};
switch (id)
@ -145,7 +150,7 @@ namespace DownKyi.ViewModels
mid = (long)parameter["mid"];
SelectTabId = (int)parameter["friendId"];
NavigationView(SelectTabId);
NavigationView(SelectTabId, true);
}
}

Loading…
Cancel
Save