private void OnAddItemMethod(object obj) { Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly; var game = new FileManager() { ItemName = "Game", ImageIcon = ImageSource.FromResource("TreeViewXamarin.Icons.treeview_folder.png", assembly) }; var games = new FileManager() { ItemName = "Pubg.exe", ImageIcon = ImageSource.FromResource("TreeViewXamarin.Icons.treeview_exe.png", assembly) }; game.SubFiles = new ObservableCollection <FileManager> { games }; ImageNodeInfo.Add(game); }
private void AddImage(ImageNodeInfo imageNodeInfo) { AddImage(_imageBrushes[(int)imageNodeInfo.NamedImage], imageNodeInfo); }
private void OnTreeViewSortClicked(object obj) { this.ImageNodeInfo = new ObservableCollection<FileManager>(ImageNodeInfo.OrderBy(i => i.ItemName)); }
public MainPageViewModel(INavigationService navigationService) : base(navigationService) { Title = "HOME"; ImageMarkerInfo.Subscribe(imageInfo => { ImageMarkerPath.Value = null; ImageMarkerPath.Value = imageInfo.ImagePath; }).AddTo(this.Disposable); ImageNodeInfo.Subscribe(imageInfo => { ImageNodePath.Value = null; ImageNodePath.Value = imageInfo.ImagePath; }).AddTo(this.Disposable); ChangeImageCommand = IsBusy.Inverse().ToAsyncReactiveCommand <string>(); ChangeImageCommand.Subscribe(async(param) => { IsBusy.Value = true; var imagePath = await Common.GetImagePath(); var imageInfo = new ImageInfo(); if (param.Equals(MarkerStr)) { imageInfo.ImagePath = File.Exists(imagePath) ? imagePath : ImageMarkerFileName; imageInfo.IsAsset = !File.Exists(imagePath); ImageMarkerInfo.Value = imageInfo; } else if (param.Equals(NodeStr)) { imageInfo.ImagePath = File.Exists(imagePath) ? imagePath : ImageNodeFileName; imageInfo.IsAsset = !File.Exists(imagePath); ImageNodeInfo.Value = imageInfo; } IsBusy.Value = false; }).AddTo(this.Disposable); TakePhotoCommand = IsBusy.Inverse().ToAsyncReactiveCommand <string>(); TakePhotoCommand.Subscribe(async(param) => { IsBusy.Value = true; var imagePath = await Common.TakePhoto(); var imageInfo = new ImageInfo(); if (param.Equals(MarkerStr)) { imageInfo.ImagePath = File.Exists(imagePath) ? imagePath : ImageMarkerFileName; imageInfo.IsAsset = !File.Exists(imagePath); ImageMarkerInfo.Value = imageInfo; } else if (param.Equals(NodeStr)) { imageInfo.ImagePath = File.Exists(imagePath) ? imagePath : ImageNodeFileName; imageInfo.IsAsset = !File.Exists(imagePath); ImageNodeInfo.Value = imageInfo; } IsBusy.Value = false; }).AddTo(this.Disposable); ExecuteARCommand = IsBusy.Inverse().ToAsyncReactiveCommand <string>(); ExecuteARCommand.Subscribe(async(param) => { if (string.IsNullOrEmpty(ApiKey.KudanARApiKey)) { await UserDialogs.Instance.AlertAsync("KudanARのAPIキー取得に失敗しました", $"{AppInfo.Name}", "OK"); await Xamarin.Forms.DependencyService.Get <IKudanARService>().Init(); return; } if (param.Equals("MarkerAR")) { IsBusy.Value = true; await Xamarin.Forms.DependencyService.Get <IKudanARService>().StartMarkerARActivityAsync(); } else if (param.Equals("MarkerlessAR_Floor")) { IsBusy.Value = true; await Xamarin.Forms.DependencyService.Get <IKudanARService>().StartMarkerlessARActivityAsync(); } else if (param.Equals("MarkerlessAR_Wall")) { IsBusy.Value = true; await Xamarin.Forms.DependencyService.Get <IKudanARService>().StartMarkerlessWallActivityAsync(); } // Activity側でビジーフラグ変更 //IsBusy.Value = false; }).AddTo(this.Disposable); SettingCommand = IsBusy.Inverse().ToAsyncReactiveCommand(); SettingCommand.Subscribe(async() => { await this.NavigationService.NavigateAsync("SettingPage"); }).AddTo(this.Disposable); }