public ShellKnownFolderViewModel(ShellKnownFolder knownFolder) { #region Reactive Property this.KnownFolder = new ReactiveProperty <ShellKnownFolder>(knownFolder); this.Thumbnail = new ReactiveProperty <ShellImageSource>() .AddTo(this.CompositeDisposable); this.DisplayName = this.KnownFolder .Select(x => x.DisplayName) .ToReactiveProperty(); this.CanonicalName = this.KnownFolder .Select(x => x.CanonicalName) .ToReactiveProperty(); this.Category = this.KnownFolder .Select(x => x.Category.ToString()) .ToReactiveProperty(); this.Description = this.KnownFolder .Select(x => x.Description) .ToReactiveProperty(); this.Path = this.KnownFolder .Select(x => x.Path) .ToReactiveProperty(); #endregion }
public static Task <ShellKnownFolderViewModel> CreateAsync(ShellKnownFolder shellKnownFolder) { return(Task.Run(() => { var result = new ShellKnownFolderViewModel(shellKnownFolder); result.Thumbnail.Value = new ShellImageSource(shellKnownFolder.GetThumbnail(ThumbnailMode.ListView)); return result; })); }