0

我创建了一个带有主页的应用程序。并且根据登录,我想根据用户级别向用户显示/隐藏不同的项目。我如何从其他页面访问我在主窗口中创建的菜单条。(即主窗口以外)例如:- 我有 3 页

主窗口-主页面包含菜单条 此窗口只有菜单条,显示文本的文本框很少。和加载其他页面的框架控件

登录窗口-不同的页面

用户窗口-登录后的另一个页面

(希望我很清楚)当应用程序启动时,我正在使用框架在应用程序中导航,它将打开登录页面。它不能在登录后显示菜单条,具体取决于用户,菜单项必须可见。怎么做

4

2 回答 2

0

有一个属性叫做可见性。将此与您的 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 中使用它。

于 2013-03-20T06:00:58.127 回答
0

很抱歉,它的回复很晚,但是可能对其他任何人都有用。

    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      
  }
于 2013-11-04T18:21:06.473 回答