Kolejna kontrolki z kolekcji ItemControls to TabControl oraz Menu
TabControl
Utworzyć ją można w banalny sposób:
<TabControl>
<TabItem Header=”Tab 1″>Content 1TabItem>
<TabItem Header=”Tab 2″>Content 2TabItem>
<TabItem Header=”Tab 3″>Content 3TabItem>
TabControl>
Od razu możemy zobaczyć jak możemy nazwać nasze Tab’y. Za pomocą właściwości TabStripPlacement możemy ustawić miejsce, gdzie będą wyświetlane karty – Bottom, Top, Left i Right
Menu
Menu tworzymy używając tagów Menu oraz MenuItem:
<Menu>
<MenuItem Header=”_Plik”>
<MenuItem Header=”_Nowy” />
<MenuItem Header=”_Otwórz” />
<Separator />
<MenuItem Header=”_Koniec” />
MenuItem>
<MenuItem Header=”_Edycja”>
<MenuItem Header=”_Skopiuj” />
<MenuItem Header=”_Wytnij” />
<MenuItem Header=”W_klej” />
MenuItem>
<MenuItem Header=”P_omoc” />
Menu>
Za pomocą znaku ‘_’ zaznaczamy literę, która będzie umożliwiać wywołanie danego polecenia za pomocą kombinacji ALT + znak. Dostępny jest też element separatora. Element MenuItem posiada, kilka właściwości, które są użyteczne przy konfigurowaniu wyglądu i działania.
- Icon – umożliwia zdefiniowanie ikony, która pojawi się przy danej pozycji w menu
- IsCheckable – pozwala zaznaczać i odznaczać dany element w Menu
- InputGestureText – pozwala dodać tekst, skrótu klawiaturowego skojarzonego z daną pozycją Menu
W przypadku InputGestureText, należy zaznaczyć ich jest to tylko tekst. Aby skojarzyć InputGesture z pozycją w Menu należy posłużyć się opisanym mechanizmem komend.
Dodatkowo wszystko to ukraszone kilkoma zdarzeniami: Checked, Unchecked, SubmenuOpened, SubmenuClosed oraz Click.
Ciekawostka: Jeśli chcesz, możesz sprawić aby menu wyświetliło swoje elementy pionowo:
<Menu.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
ItemsPanelTemplate>
Menu.ItemsPanel>
ContextMenu
Jest to w zasadzie normalna kontrolka menu, zdefiniowana wewnątrz innego obiektu:
<StackPanel.ContextMenu>
<ContextMenu>ContextMenu>
StackPanel.ContextMenu>
ContextMenu definiuje właściwość IsOpen i zdarzenia Opened, Closed.
Dodatkowo ContextMenuService definiuje kilka właściwości dzięki, którym możemy zmodyfikować działanie menu kontekstowego – takie jak: DropOnShadow, ShowOnDisabled, Placement.
Następnym razem kolejne kontrolki – TreeView, ToolBar oraz StatusBar.
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl