}
}
- protected override void OnFileActivated(FileActivatedEventArgs e)
+ protected override async void OnFileActivated(FileActivatedEventArgs e)
{
base.OnFileActivated(e);
Frame rootFrame = Window.Current.Content as Frame;
rootFrame.NavigationFailed += OnNavigationFailed;
Window.Current.Content = rootFrame;
}
- rootFrame.Navigate(typeof(MainPage), e);
+ if (rootFrame.Content == null)
+ {
+ rootFrame.Navigate(typeof(MainPage), e);
+ }
+ else
+ {
+ MainPage page = rootFrame.Content as MainPage;
+ await page.LoadManyFiles(e);
+ }
Window.Current.Activate();
}
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");
- await this.vm.AddDocumentFromFile(file as IStorageFile);
- }
-
+ await this.LoadManyFiles(fileargs);
}
else if(this.vm.DocumentList.Count == 0)
{
currentView.Hiding += currentView_Hiding;
}
+ public async Task LoadManyFiles(FileActivatedEventArgs fileargs)
+ {
+ var filepaths = from file in fileargs.Files
+ select file.Path;
+
+ //MRUに追加しないと後で開けない
+ foreach (var file in fileargs.Files)
+ {
+ StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "mrufile");
+ await this.vm.AddDocumentFromFile(file as IStorageFile);
+ }
+
+ }
+
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
{
class MainViewModel : INotifyPropertyChanged
{
- static ObservableCollection<Document> _list = new ObservableCollection<Document>();
+ ObservableCollection<Document> _list = new ObservableCollection<Document>();
public MainViewModel()
{
{
get
{
- return MainViewModel._list;
+ return this._list;
}
}
doc.AutoComplete.Items = complete_collection;
doc.AutoComplete.Enabled = true;
doc.ShowLineBreak = true;
- MainViewModel._list.Add(doc);
+ _list.Add(doc);
doc = new Document() { Title = "test2" };
- MainViewModel._list.Add(doc);
+ _list.Add(doc);
- this.CurrentDocument = MainViewModel._list[0];
+ this.CurrentDocument = _list[0];
}
public void AddDocument()
{
- var doc = new Document() { Title = "test" + MainViewModel._list.Count };
- MainViewModel._list.Add(doc);
- this.CurrentDocument = MainViewModel._list.Last();
+ var doc = new Document() { Title = "test" + _list.Count };
+ _list.Add(doc);
+ this.CurrentDocument = _list.Last();
}
public async Task AddDocumentFromFile(IStorageFile file)
{
if (file != null)
{
- var doc = new Document() { Title = "test" + MainViewModel._list.Count };
+ var doc = new Document() { Title = "test" + _list.Count };
doc.ShowLineBreak = true;
+ doc.ShowFullSpace = true;
+ doc.ShowTab = true;
using (var ws = await file.OpenAsync(FileAccessMode.Read))
using (var fs = new StreamReader(ws.AsStream()))
{
await doc.LoadAsync(fs, null);
}
doc.RequestRedraw();
- MainViewModel._list.Add(doc);
- this.CurrentDocument = MainViewModel._list.Last();
+ _list.Add(doc);
+ this.CurrentDocument = _list.Last();
}
}