using Windows.Graphics.Printing;
using Windows.Graphics.Printing.OptionDetails;
using FooEditEngine.UWP;
+using Windows.UI.Xaml.Navigation;
+using Windows.ApplicationModel.Activation;
+using System.Linq;
+using Windows.Storage.AccessCache;
// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 を参照してください
currentView.Hiding += currentView_Hiding;
}
+ protected override async void OnNavigatedTo(NavigationEventArgs e)
+ {
+ var fileargs = e.Parameter as FileActivatedEventArgs;
+ if (fileargs != null)
+ {
+ var filepaths = from file in fileargs.Files
+ select file.Path;
+
+ //MRUに追加しないと後で開けない
+ foreach (var file in fileargs.Files)
+ {
+ StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "mrufile");
+ this.vm.AddDocument();
+ await LoadFile(this.vm.CurrentDocument, file as IStorageFile);
+ }
+
+ }
+ else if(this.vm.DocumentList.Count == 0)
+ {
+ this.vm.Initalize();
+ }
+ }
+
void currentView_Hiding(InputPane sender, InputPaneVisibilityEventArgs args)
{
this.Margin = new Thickness(0);
var filepicker = new FileOpenPicker();
filepicker.FileTypeFilter.Add(".txt");
var file = await filepicker.PickSingleFileAsync();
- if(file != null)
+ await LoadFile(this.vm.CurrentDocument, file);
+ }
+
+ private async Task LoadFile(FooEditEngine.Document doc,IStorageFile file)
+ {
+ if (file != null)
{
using (var ws = await file.OpenAsync(FileAccessMode.Read))
using (var fs = new StreamReader(ws.AsStream()))
{
- await this.vm.CurrentDocument.LoadAsync(fs, null);
+ await doc.LoadAsync(fs, null);
}
- this.vm.CurrentDocument.RequestRedraw();
+ doc.RequestRedraw();
}
}