1 <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
6 <TabControl MinHeight="500" MaxHeight="700" MinWidth="400">
7 <TabItem Style="{StaticResource TabStyle}" Header="Menus Sample" IsSelected="True">
9 <TextBlock Style="{StaticResource HeaderStyle}">Menus</TextBlock>
11 <TextBlock Style="{StaticResource mainContentStyle}">This example shows how to create Menu controls.</TextBlock>
13 <TextBlock Style="{StaticResource mainContentStyle}">The preview window renders code from the C#+Markup tab. The VB+markup code is provided for reference purposes.</TextBlock>
18 <TabItem Name="xaml" Style="{StaticResource TabStyle}" Header="XAML">
23 <TabItem Name="xamlcsharp" Style="{StaticResource TabStyle}" Header="XAML + C#">
24 <TabControl TabStripPlacement="Right">
25 <TabItem Name="xcsharpCheck" Style="{StaticResource TabStyle2}" Header="XAML">
26 <ScrollViewer HorizontalScrollBarVisibility="Visible">
27 <TextBox Style="{StaticResource CodeSnippetParagraph}" xml:space="preserve">
30 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
31 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
35 <Grid Name="grid" ShowGridLines ="false" Background ="White" >
36 <Grid.ColumnDefinitions>
37 <ColumnDefinition Width="300"/>
38 <ColumnDefinition Width="250"/>
39 </Grid.ColumnDefinitions>
40 <Grid.RowDefinitions>
54 </Grid.RowDefinitions>
55 <TextBlock Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="0" FontSize="24">Menus</TextBlock>
56 <TextBlock Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="1" FontSize="14" Grid.ColumnSpan="2">The following menu examples demonstrate:</TextBlock>
57 <DockPanel Grid.Column="0" Grid.Row="2">
58 <Menu Background="Gray" Width="30" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
59 <MenuItem Header="File">
60 <MenuItem Header="New"/>
61 <MenuItem Header="Open"/>
62 <MenuItem Mode="Separator"/>
63 <MenuItem Header="submenu">
64 <MenuItem Header="submenuitem1"/>
65 <MenuItem Header="submenuitem2">
66 <MenuItem Header="submenuitem2.1"/>
72 <TextBlock Margin="5, 10, 5, 5" Grid.Column="1" Grid.Row="2" FontSize="12" VerticalAlignment="Center">Simple menu with submenu items.</TextBlock>
73 <DockPanel Grid.Column="0" Grid.Row="3">
74 <Menu Background="Pink" Width="30" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
75 <MenuItem Header="Edit">
76 <MenuItem Header="Cut"/>
77 <MenuItem Header="Copy"/>
78 <MenuItem Header="Paste"/>
79 <MenuItem Mode="Separator"/>
80 <MenuItem Header="Menu item with ToolTip">
85 </MenuItem.ToolTip>
91 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="3" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Menu item with ToolTip.</TextBlock>
92 <DockPanel Grid.Column="0" Grid.Row="4">
93 <Menu Background="Red" Width="50" Height="25" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
97 <AccessText>P</AccessText>roject
102 <TextBlock><AccessText>A</AccessText>dd</TextBlock>
103 </MenuItem.Header>
107 <TextBlock><AccessText>D</AccessText>elete</TextBlock>
108 </MenuItem.Header>
110 <MenuItem Mode="Separator"/>
111 <MenuItem Header="Recent Files"/>
117 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="4" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Menu Item with AccessText. Hover over the menu and press the ALT key to see the AccessText underlined.</TextBlock>
118 <DockPanel Grid.Column="0" Grid.Row="5">
119 <Menu Background="LightGreen" Width="50" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
120 <MenuItem Header="Animals">
123 <Image Source="\images\cat.png"/>
124 </MenuItem.Header>
128 <Image Source="\images\dog.png"/>
129 </MenuItem.Header>
133 <Image Source="\images\fish.png"/>
134 </MenuItem.Header>
139 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="5" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Image used as a menu item.</TextBlock>
140 <Button Margin="5, 10, 5, 5" Grid.Column="0" Grid.Row="6" Click="OnClick">Click me to create a menu with C# code.</Button>
141 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="6" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Creating a menu with C#.</TextBlock>
143 <Canvas Name="cv2" Width="550" Height="50" Canvas.Top="280" Canvas.Left="10"></Canvas>
152 <TabItem Style="{StaticResource TabStyle2}" Header="C#">
153 <ScrollViewer HorizontalScrollBarVisibility="Visible">
154 <TextBlock Style="{StaticResource CodeSnippetParagraph}" xml:space="preserve">
155 //This is a list of commonly used namespaces for a pane.
157 using System.Windows;
158 using System.Windows.Controls;
159 using System.Windows.Documents;
160 using System.Windows.Navigation;
161 using System.Windows.Shapes;
162 using System.Windows.Data;
163 using System.Windows.Media;
168 /// Interaction logic for Pane1.xaml
171 public partial class Pane1 : Canvas
173 System.Windows.Controls.Menu menu;
174 System.Windows.Controls.MenuItem mi, mia, mib, mib1, mib1a;
176 void OnClick(object sender, RoutedEventArgs e)
179 menu.Background = Brushes.LightBlue;
183 mia = new MenuItem();
186 mib = new MenuItem();
189 mib1 = new MenuItem();
190 mib1.Header = "Recently Opened";
192 mib1a = new MenuItem();
193 mib1a.Header = "Text.xaml";
194 mib1.Items.Add(mib1a);
195 cv2.Children.Add(menu);
208 <TabItem Name="xamlvb" Style="{StaticResource TabStyle}" Header="XAML + Visual Basic.NET">
209 <TabControl TabStripPlacement="Right">
210 <TabItem Name="xvbCheck" Style="{StaticResource TabStyle2}" Header="XAML">
211 <ScrollViewer HorizontalScrollBarVisibility="Visible">
212 <TextBox Style="{StaticResource CodeSnippetParagraph}" xml:space="preserve">
215 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
216 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
217 x:Class="MenusVB.Pane1"
220 <!-- The namespace + class name in the codebehind file and the x:Class attribute in the root of this document, must stay identical. You can change them, but you must keep them in sync. -->
222 <Grid Name="grid" ShowGridLines ="false" Background ="White" >
223 <Grid.ColumnDefinitions>
224 <ColumnDefinition Width="300"/>
225 <ColumnDefinition Width="250"/>
226 </Grid.ColumnDefinitions>
227 <Grid.RowDefinitions>
241 </Grid.RowDefinitions>
242 <TextBlock Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="0" FontSize="24">Menus</TextBlock>
243 <TextBlock Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="1" FontSize="14" Grid.ColumnSpan="2">The following menu examples demonstrate:</TextBlock>
244 <DockPanel Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="2">
245 <Menu Background="Gray" Width="30" HorizontalAlignment="Left">
246 <MenuItem Header="File">
247 <MenuItem Header="New"/>
248 <MenuItem Header="Open"/>
249 <MenuItem Mode="Separator"/>
250 <MenuItem Header="submenu">
251 <MenuItem Header="submenuitem1"/>
252 <MenuItem Header="submenuitem2">
253 <MenuItem Header="submenuitem2.1"/>
257 </Menu></DockPanel>
258 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="2" FontSize="12" VerticalAlignment="Center">Simple menu with submenu items.</TextBlock>
259 <DockPanel Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="3">
260 <Menu Background="Pink" Width="30" HorizontalAlignment="Left">
261 <MenuItem Header="Edit">
262 <MenuItem Header="Cut"/>
263 <MenuItem Header="Copy"/>
264 <MenuItem Header="Paste"/>
265 <MenuItem Mode="Separator"/>
266 <MenuItem Header="Menu item with ToolTip">
267 <MenuItem.ToolTip>
271 </MenuItem.ToolTip>
275 </Menu></DockPanel>
276 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="3" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Menu item with ToolTip.</TextBlock>
277 <DockPanel Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="4">
278 <Menu Background="Red" Width="50" Height="20" HorizontalAlignment="Left">
281 <TextBlock><AccessText>P</AccessText>roject</TextBlock>
282 </MenuItem.Header>
285 <TextBlock><AccessText>A</AccessTexe>dd</TextBlock>
286 </MenuItem.Header>
290 <TextBlock><AccessText>D</AccessText>elete</TextBlock>
291 </MenuItem.Header>
293 <MenuItem Mode="Separator"/>
294 <MenuItem Header="Recent Files"/>
297 </Menu></DockPanel>
299 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="4" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Menu Item with AccessText. Hover over the menu and press the ALT key to see the AccessText underlined.</TextBlock>
301 <Button Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="6" Click="OnClick">Click me to create a menu with VisualBasic.Net.</Button>
302 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="6" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Creating a menu with VisualBasic.Net.</TextBlock>
304 <Canvas Name="cv2" Width="550" Height="50" Canvas.Top="280" Canvas.Left="10"></Canvas>
312 <TabItem Style="{StaticResource TabStyle2}" Header="VB.NET">
313 <ScrollViewer HorizontalScrollBarVisibility="Visible">
314 <TextBox Style="{StaticResource CodeSnippetParagraph}" xml:space="preserve">
316 Imports System.Windows
317 Imports System.Windows.Controls
318 Imports System.Windows.Controls.Primitives
319 Imports System.Windows.Documents
320 Imports System.Windows.Navigation
321 Imports System.Windows.Shapes
322 Imports System.Windows.Data
323 Imports System.Windows.Media
329 '@ Interaction logic for Pane1_xaml.xaml
332 Sub OnClick(ByVal sender As Object, ByVal args As RoutedEventArgs)
334 mn.Background = Brushes.LightBlue
336 Dim mi As New MenuItem()
339 Dim mi1 As New MenuItem()
340 mi1.Header = ("New...")
342 Dim mi2 As New MenuItem()
343 mi2.Header = ("Open...")
345 Dim mi3 As New MenuItem()
346 mi3.Header = ("Recently Opened")
367 <TabItem Name="csharp" Style="{StaticResource TabStyle}" Header="C#"></TabItem>
369 <TabItem Name="vb" Style="{StaticResource TabStyle}" Header="Visual Basic.NET"></TabItem>
371 <TabItem Name="managedcpp" Style="{StaticResource TabStyle}" Header="Managed C++"></TabItem>
373 <TabItem Style="{StaticResource TabStyle}" Header="Preview Sample">
377 <!-- The namespace + class name in the codebehind file and the x:Class attribute in the root of this document, must stay identical. You can change them, but you must keep them in sync. -->
378 <Grid Name="grid" ShowGridLines ="False" Background ="White" >
379 <Grid.ColumnDefinitions>
380 <ColumnDefinition Width="300"/>
381 <ColumnDefinition Width="250"/>
382 </Grid.ColumnDefinitions>
383 <Grid.RowDefinitions>
397 </Grid.RowDefinitions>
398 <TextBlock Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="0" FontSize="24">Menus</TextBlock>
399 <TextBlock Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="1" FontSize="14" Grid.ColumnSpan="2">The following menu examples demonstrate:</TextBlock>
400 <DockPanel Grid.Column="0" Grid.Row="2">
401 <Menu Background="Gray" Width="30" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
402 <MenuItem Header="File">
403 <MenuItem Header="New"/>
404 <MenuItem Header="Open"/>
406 <MenuItem Header="submenu">
407 <MenuItem Header="submenuitem1"/>
408 <MenuItem Header="submenuitem2">
409 <MenuItem Header="submenuitem2.1"/>
415 <TextBlock Margin="5, 10, 5, 5" Grid.Column="1" Grid.Row="2" FontSize="12" VerticalAlignment="Center">Simple menu with submenu items.</TextBlock>
416 <DockPanel Grid.Column="0" Grid.Row="3">
417 <Menu Background="Pink" Width="30" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
418 <MenuItem Header="Edit">
419 <MenuItem Header="Cut"/>
420 <MenuItem Header="Copy"/>
421 <MenuItem Header="Paste"/>
423 <MenuItem Header="Menu item with ToolTip">
433 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="3" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Menu item with ToolTip.</TextBlock>
434 <DockPanel Grid.Column="0" Grid.Row="4">
435 <Menu Background="Red" Width="50" Height="25" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
439 <AccessText>P</AccessText>roject
445 <AccessText>A</AccessText>dd
452 <AccessText>D</AccessText>elete
457 <MenuItem Header="Recent Files"/>
463 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="4" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Menu Item with AccessText. Hover over the menu and press the ALT key to see the AccessText underlined.</TextBlock>
464 <DockPanel Grid.Column="0" Grid.Row="5">
465 <Menu Background="LightGreen" Width="50" Margin="10, 10, 5, 5" HorizontalAlignment="Left">
466 <MenuItem Header="Animals">
469 <Image Stretch="None"><Image.Source><BitmapImage UriSource="\images\cat.png"/></Image.Source></Image>
474 <Image Stretch="None"><Image.Source><BitmapImage UriSource="\images\dog.png"/></Image.Source></Image>
479 <Image Stretch="None"><Image.Source><BitmapImage UriSource="\images\fish.png"/></Image.Source></Image>
485 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="5" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Image used as a menu item.</TextBlock>
486 <Button Margin="5, 10, 5, 5" Grid.Column="0" Grid.Row="6" Click="OnClick">Click me to create a menu with C# code.</Button>
487 <TextBlock Margin="10, 10, 5, 5" Grid.Column="1" Grid.Row="6" FontSize="12" VerticalAlignment="Center" TextWrapping="Wrap">Creating a menu with C#.</TextBlock>
489 <Canvas Name="cv2" Width="550" Height="50" Canvas.Top="280" Canvas.Left="10"></Canvas>