0
ViewではないクラスからViewModelにアクセスしたいと思います。私は次のことをすればいいですか?これはパターンを破っていますか?MvvmCrossのビューを継承してViewModelにアクセスする
namespace MyApp
{
public class GameView
{
protected new GameViewModel ViewModel
{
get { return (GameViewModel)base.ViewModel; }
}
}
}
// Derived class
namespace MyApp
{
public class InAppPurchase: GameView
{
public void BuyCoins()
{
ViewModel.PurchasedCoins += ViewModel.CoinsForSale;
}
}
}
MVVMパターンに間違いなく違反しています。 GameViewModelにバインドされているGameViewがあると思います。なぜGameViewクラスから継承したいのですか?正確なシナリオを知らなくても、明確に説明することはできません。 – ViVi
この質問は主に意見に基づいています。私の意見は、ビューのViewModelsへの1:1マップを持たなければならないということです。あなたが現在示しているコードは、それに違反しているので、MvvmCrossのコードでViewModelから行うのではなく、おそらくViewで手動のナビゲーションを行う必要があります。 – Cheesebaron