2015-06-18 71 views
5

嗨我寫一個WPF應用程序,用戶登錄。我爲這個應用程序使用Modern UI。該應用程序有以下鏈接組:C#WPF現代用戶界面禁用或隱藏LinkGroup

<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> 

我想隱藏或禁用鏈接組名稱爲「組2」取決於用戶ID。有沒有辦法做到這一點?

回答

4

也許是爲時已晚,但我認爲這有一個解決方案。 由於LinkGroup不是從UIElement派生的,因此無法隱藏它,但可以解決此問題。我相信這不是最清晰的解決方案,但它對我有用。

您可以通過

var window = App.Current.MainWindow as ModernWindow; 
var toRemove = window.MenuLinkGroups.ElementAt(1); 

MenuLinkGroups達到你LinkGroup s是Collection<T>因此,您可以AddRemove項目。

window.MenuLinkGroups.Remove(toRemove); 
+0

變元出界異常 – albatross

+0

你有多少'LinkGroup'? – gaborhodi

2

您還可以生成登錄後LinkGroupCollection並綁定ModernWindow.MenuLinkGroups到此集合。