我想從我的viewmodel使用autoviews定義我的選項菜單。我在我的viewmodel中實現了IMvxAutoDialogViewModel並定義了菜單。我也有一個視圖爲該視圖定義了相應的android佈局。我的理解是,視圖和佈局優先於我的視圖模型在自動查看情況下定義的內容。是否有可能創建一種混合,我只從我的viewmodel中定義菜單部分,並將其注入到我的視圖中,並使用android佈局定義?mvvmcross與autoview菜單viewmodel +視圖與android佈局
我沒有得到任何選項菜單,當我做到以下幾點:
public class MainViewModel
: MvxViewModel, IMvxAutoDialogViewModel
{
public KeyedDescription GetAutoView(string type)
{
switch (type)
{
case MvxAutoViewConstants.Menu:
return GetMenuAutoView();
default:
return null;
}
}
public bool SupportsAutoView(string type)
{
switch (type)
{
case MvxAutoViewConstants.Menu:
return true;
default:
return false;
}
}
private KeyedDescription GetMenuAutoView()
{
var auto = new ParentMenuAuto()
{
new MenuAuto(caption: "System",
longCaption: "System",
command:()=> ShowSystemViewModelCommand)
};
return auto.ToParentMenuDescription();
}
}
[Activity(Label = "Main")]
public class MainView : MvxActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.MainView);
}
}
感謝迴應斯圖爾特!我製作了自己的代碼,按照您的建議使用反射來添加上下文菜單項。 –
謝謝 - 請編輯我的答案 - 或提供你自己的 - 讓別人知道如何做到這一點:) – Stuart