C# WPF Modern UI 禁用或隐藏 LinkGroup
C# WPF Modern UI disable or hide LinkGroup
您好,我正在编写一个具有用户登录名的 WPF 应用程序。我为此应用程序使用 Modern UI。该应用程序具有以下 Link 组:
<mui:ModernWindow.MenuLinkGroups>
<mui:LinkGroup DisplayName="Group 1">
<mui:LinkGroup.Links>
<mui:Link DisplayName="A" Source="/Pages/A.xaml" />
<mui:Link DisplayName="B" Source="/Pages/B.xaml" />
<mui:Link DisplayName="C" Source="/Pages/C.xaml" />
</mui:LinkGroup.Links>
</mui:LinkGroup>
<mui:LinkGroup DisplayName="Group 2">
<mui:LinkGroup.Links>
<mui:Link DisplayName="D" Source="/Pages/D.xaml" />
<mui:Link DisplayName="F" Source="/Pages/F.xaml" />
<mui:Link DisplayName="G" Source="/Pages/G.xaml" />
</mui:LinkGroup.Links>
</mui:LinkGroup>
</mui:ModernWindow.MenuLinkGroups>
我想根据用户 ID 隐藏或禁用名为 "Group 2" 的 Link 组。有办法吗?
也许为时已晚,但我认为有解决办法。
由于 LinkGroup
不是从 UIElement
派生的,因此无法隐藏它,但您可以解决这个问题。我确信这不是最清晰的解决方案,但它对我有用。
您可以通过
联系您的 LinkGroup
var window = App.Current.MainWindow as ModernWindow;
var toRemove = window.MenuLinkGroups.ElementAt(1);
MenuLinkGroups
是 Collection<T>
因此你可以 Add
和 Remove
项目。
window.MenuLinkGroups.Remove(toRemove);
您也可以在登录后生成一个LinkGroupCollection
,绑定ModernWindow.MenuLinkGroups
到这个集合。
您好,我正在编写一个具有用户登录名的 WPF 应用程序。我为此应用程序使用 Modern UI。该应用程序具有以下 Link 组:
<mui:ModernWindow.MenuLinkGroups>
<mui:LinkGroup DisplayName="Group 1">
<mui:LinkGroup.Links>
<mui:Link DisplayName="A" Source="/Pages/A.xaml" />
<mui:Link DisplayName="B" Source="/Pages/B.xaml" />
<mui:Link DisplayName="C" Source="/Pages/C.xaml" />
</mui:LinkGroup.Links>
</mui:LinkGroup>
<mui:LinkGroup DisplayName="Group 2">
<mui:LinkGroup.Links>
<mui:Link DisplayName="D" Source="/Pages/D.xaml" />
<mui:Link DisplayName="F" Source="/Pages/F.xaml" />
<mui:Link DisplayName="G" Source="/Pages/G.xaml" />
</mui:LinkGroup.Links>
</mui:LinkGroup>
</mui:ModernWindow.MenuLinkGroups>
我想根据用户 ID 隐藏或禁用名为 "Group 2" 的 Link 组。有办法吗?
也许为时已晚,但我认为有解决办法。
由于 LinkGroup
不是从 UIElement
派生的,因此无法隐藏它,但您可以解决这个问题。我确信这不是最清晰的解决方案,但它对我有用。
您可以通过
联系您的LinkGroup
var window = App.Current.MainWindow as ModernWindow;
var toRemove = window.MenuLinkGroups.ElementAt(1);
MenuLinkGroups
是 Collection<T>
因此你可以 Add
和 Remove
项目。
window.MenuLinkGroups.Remove(toRemove);
您也可以在登录后生成一个LinkGroupCollection
,绑定ModernWindow.MenuLinkGroups
到这个集合。