導航使用MVVM通常是最複雜的部分,我建議
1.- A瀏覽枚舉與視圖的名字(的MainView,DetailsView控件)
public enum AppViews
{
MainView,
DetailsView
}
2:一個接口稱爲INavigation包含方法導航(瀏覽查看)
public interface INavigation
{
void Navigate(AppViews view);
}
3.-一類包含當前INavigation實例作爲靜態:
public class NavigationLocator
{
static INavigation Current { get; set; }
}
(這取決於如何爲您的視圖模型,PCL,窗戶等定義)
4.-在App類實現INavigation:
public void Navigate(AppViews view)
{
var type = Type.GetType("ProjectName." + view.ToString());
rootFrame.Navigate(type, null);
}
5.-在App構造
public App()
{
NavigationLocator.Current = this;
}
6.-呼叫你的MVVM
NavigationLocator.Current.Navigate(AppViews.DetailsView);
就是這樣。
你的意思是使用MVVM?或標準事件導向? –
MVVM。我試圖完全避免代碼隱藏。 – Sinaesthetic