我遇到了从设置超级按钮删除命令的问题。 问题是用户只有在登录应用程序时才会看到“注销”命令,但不会在登录屏幕上看到。
目前我还没有找到任何合适的方法来删除命令或清除整个命令列表并添加除了注销命令之外的所有命令。
使用设置命令管理Caliburn.Micro。
private WinRTContainer _container;
........
private void RegisterSettingsCommands(bool isSignedIn)
{
#if WINDOWS_APP
var settings = _container.RegisterSettingsService();
if (!isSignedIn)
{
settings.RegisterCommand(new Components.ActionSettingsCommand("Settings", () => { }));
settings.RegisterCommand(new Components.ActionSettingsCommand("Contact Us About a Problem", () => { }));
settings.RegisterCommand(new Components.ActionSettingsCommand("Support Information", () => { }));
settings.RegisterCommand(new Components.ActionSettingsCommand("Tutorial", () => { }));
settings.RegisterCommand(new Components.ActionSettingsCommand("Submit Product Feedback", () => { }));
settings.RegisterFlyoutCommand<AboutViewModel>("About");
}
else
{
settings.RegisterCommand(new Components.ActionSettingsCommand(
"Sign Out", HandleSignOutCommand));
}
#endif
}
所以,只是得出结论我需要以下逻辑:
- 当用户在登录屏幕上时,他没有看到退出命令;
- 当用户登录时,出现退出命令;
- 当用户注销时,应从设置命令中删除注销命令。
答案 0 :(得分:0)
这在CM 2.0.0中是不可能的。