Al fer una nova solució Silverlight Application Navigation l'IDE ens prepara un projecte amb un petit menú amb dues Opcions: Home i About.
Si la nostra aplicació no té gaires 'pages' en podem tenir prou, però si en té moltes llavors necessitem un menú.
Una manera fàcil de fer un menú és amb un TabControl:
Per fer-ho cal:
A la MainPage.xaml posar els HiperLinkButtons dins un TabControl:
Modificar el codi MainPage.xalm.vb per tal que busqui els HyperLinkButtons dins el TabControl:
Private Sub ContentFrame_Navigated(ByVal sender As Object, ByVal e As NavigationEventArgs) Handles ContentFrame.Navigated
Dim i = TabItemTaulesMestre.Content
'Poso tots els links en una única llista
Dim uiList As New List(Of UIElement)
For Each tabItem In TabControlMenu.Items
Dim tab = DirectCast(tabItem, TabItem)
Dim GridItem = DirectCast(tab.Content, System.Windows.Controls.Grid)
Dim linkStackPanelItem = DirectCast(GridItem.Children.Item(0), System.Windows.Controls.StackPanel)
For Each child As UIElement In linkStackPanelItem.Children
uiList.Add(child)
Next
Next
For Each child As UIElement In uiList
Dim hb As HyperlinkButton = TryCast(child, HyperlinkButton)
If hb IsNot Nothing AndAlso hb.NavigateUri IsNot Nothing Then
If hb.NavigateUri = e.Uri Then
VisualStateManager.GoToState(hb, "ActiveLink", True)
Else
VisualStateManager.GoToState(hb, "InactiveLink", True)
End If
End If
Next
End Sub
Algú coneix una alternativa millor?
Penseu que aquestes estructures clàssiques de menús han de ser substituïdes per un altre tipus de navegació?
Cap comentari:
Publica un comentari a l'entrada