我创建了一个带有主页的应用程序。并且根据登录,我想根据用户级别向用户显示/隐藏不同的项目。我如何从其他页面访问我在主窗口中创建的菜单条。(即主窗口以外)例如:- 我有 3 页
主窗口-主页面包含菜单条 此窗口只有菜单条,显示文本的文本框很少。和加载其他页面的框架控件
登录窗口-不同的页面
用户窗口-登录后的另一个页面
(希望我很清楚)当应用程序启动时,我正在使用框架在应用程序中导航,它将打开登录页面。它不能在登录后显示菜单条,具体取决于用户,菜单项必须可见。怎么做
有一个属性叫做可见性。将此与您的 ViewModel 绑定。
这是文本块的代码,可以通过 ViewModel 更改其可见性。
<TextBlock Text="{Binding StatusMessage}" Visibility="{Binding IsStatusMessageVisible}" Foreground="Red" Background="#ffc8c8c8" />
public System.Windows.Visibility IsStatusMessageVisible
{
get
{
return (string.IsNullOrEmpty(StatusMessage))
? System.Windows.Visibility.Collapsed
: System.Windows.Visibility.Visible;
}
}
这实际上检查 StatusMessage 是否为空,然后不显示 TextBlock。我猜你可以在你的 MenuStrip 中使用它。
很抱歉,它的回复很晚,但是可能对其他任何人都有用。
void MenuItemShowHideManager_OnClicked(object sender, RoutedEventArgs e)
{
var navService = NavigationService.GetNavigationService(this);
var window = new MasterPages.MyMasterWindow
{
MenuItem1 = {Visibility = Visibility.Hidden},
MenuItem2 = {Visibility = Visibility.Hidden},
MenuItem3 = { Visibility = Visibility.Visible }
};
//Navigate to your default screen
}