Last active
May 9, 2021 06:17
-
-
Save runceel/1679eb0f6c61f00fe0c4c2348047c403 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// step1 以下のようなインターフェースを定義しておく | |
public interface IActivityLifecycle | |
{ | |
// 引数は適時足す | |
void OnActivityResult(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 必要と思われる using | |
using Prism; | |
using Prism.Common; | |
protected override void OnActivityResult(引数省略) | |
{ | |
// IApplicationProvider と PageUtilities を使って現在のページのインスタンスを取得して V か VM で IActivityLifecytle を実装していたら該当メソッドを呼び出す | |
var applicationProvider = PrismApplicationBase.Current.Container.Resolve<IApplicationProvider>(); | |
PageUtilities.InvokeViewAndViewModelAction<IActivityLifecycle>( | |
PageUtilities.GetCurrentPage(applicationProvider.MainPage), | |
x => x.OnActivityResult()); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SomePageViewModel : BindableBase, IActivityLifecytle | |
{ | |
// 諸々の実装は省略 | |
public void OnActivityResult() | |
{ | |
// ここに Activity で OnActivityResult が呼ばれた時の処理を書く | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment