前提・実現したいこと
Xamarin + Prism で
Windows.Storage.Pickers.FolderPicker を使用して
フォルダを選択し、その戻り値のstringを取得したいと思っていますが
ReactiveCommandでメソッドを呼び出し
メソッドから戻り値を取得する方法が分かりません
該当のソースコード
DirectorySettingPageViewModel.cs
(共通側)
C#
1 public class DirectorySettingPageViewModel : BindableBase, IDisposable 2 { 3 private CompositeDisposable Disposable { get; } = new CompositeDisposable(); 4 public void Dispose() => this.Disposable.Dispose(); 5 6 public DirectoryPath DirectoryPath { get; } 7 public IDataOperator DataOperator { get; } 8 9 // コマンド 10 public ReactiveCommand<string> CallFileOpenPickerCommand { get; private set; } 11 = new ReactiveCommand<string>(); // フォルダを開く 12 13 14 15 16 public DirectorySettingPageViewModel(IDirectoryPath directoryPath, IDataOperator dataOperator) 17 { 18 this.DirectoryPath = (DirectoryPath)directoryPath; 19 this.DataOperator = dataOperator; 20 21 string forlderName; 22 CallFileOpenPickerCommand.Subscribe 23 (async x => await this.DataOperator.CallFileOpenPickerAsync()); 24 // ↑この「CallFileOpenPickerAsync」で返したstringをforlderNameで受けてviewに表示したい 25 26 } 27 28 } 29
DataOperatorUWP.cs
(UWP側)
C#
1 public async Task<string> CallFileOpenPickerAsync() 2 { 3 var folderPicker = new Windows.Storage.Pickers.FolderPicker(); 4 folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop; 5 folderPicker.FileTypeFilter.Add("*"); 6 7 Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync(); 8 9 return folder.Path; ←ここでフォルダ名を返しています 10 11 } 12
色々検索しましたが、解決策を発見出来ませんでした。
どなたかご教示下さい
回答1件
あなたの回答
tips
プレビュー