Stylet/Samples/Stylet.Samples.RedditBrowser/Pages/SubredditViewModel.cs

49 lines
1.5 KiB
C#

using Stylet.Samples.RedditBrowser.RedditApi;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Stylet.Samples.RedditBrowser.Pages
{
public class SubredditViewModel : Conductor<IScreen>.StackNavigation
{
private IPostCommentsViewModelFactory postCommentsViewModelFactory;
public string Subreddit { get; set; }
public SortMode SortMode { get; set; }
private PostsViewModel posts;
public SubredditViewModel(PostsViewModel posts, IPostCommentsViewModelFactory postCommentsViewModelFactory)
{
this.posts = posts;
this.postCommentsViewModelFactory = postCommentsViewModelFactory;
this.posts.PostCommentsOpened += (o, e) => this.OpenPostCommands(e.PostId36);
this.posts.Closed += (o, e) => this.TryClose();
}
protected override void OnInitialActivate()
{
this.DisplayName = String.Format("/r/{0}", this.Subreddit);
this.posts.Subreddit = this.Subreddit;
this.posts.SortMode = this.SortMode;
this.ActivateItem(this.posts);
}
private void OpenPostCommands(string postId36)
{
var item = this.postCommentsViewModelFactory.CreatePostCommentsViewModel();
item.PostId36 = postId36;
this.ActivateItem(item);
}
}
public interface IPostCommentsViewModelFactory
{
PostCommentsViewModel CreatePostCommentsViewModel();
}
}