
| <Window xmlns="http://schemas.microsoft.com/2003/xaml" xmlns:def="Definition" def:Class="Application2.Window1" def:CodeBehind="Window1.xaml.cs" Text="Application2" Visible="True"> <FlowPanel DockPanel.Dock="Fill"> <TextBox ID="input" Margin="10,10" Background="LightCyan" BorderBrush="black" FontFamily="verdana" FontSize="16" BorderThickness="1" ContextMenuEvent="OnContextMenu" Height="40" Width="360">Right-click to see a context menu</TextBox> </FlowPanel> </Window> // C# source file for the application namespace MsdnLHSample { public partial class MyApp : Application { void AppStartingUp(object sender, StartingUpCancelEventArgs e) { Window mainWindow = new Window1(); mainWindow.Show(); } } } // C# source file for the window using System; using MSAvalon.Windows; using MSAvalon.Windows.Media; using MSAvalon.Windows.Controls; using MSAvalon.Windows.Documents; using MSAvalon.Windows.Navigation; using MSAvalon.Windows.Shapes; using MSAvalon.Windows.Data; namespace MsdnLHSample { // input is the textbox declared in the XAML public partial class Window1 : Window { private void OnContextMenu(object sender, ContextMenuEventArgs e) { CreateMenu(); } private void CreateMenu() { ContextMenu cm = new ContextMenu(); cm.FontFamily = "verdana"; cm.Background = Brushes.LightYellow; MenuItem mi0 = new MenuItem(); mi0.Header = "Lower case"; mi0.FontSize = new FontSize(16); mi0.Click += new ClickEventHandler(LowerCase); cm.Items.Add(mi0); MenuItem mi1 = new MenuItem(); mi1.FontSize = new FontSize(16); mi1.Header = "Upper case"; mi1.Click += new ClickEventHandler(UpperCase); cm.Items.Add(mi1); MenuItem mi2 = new MenuItem(); mi2.Header = "Select All"; mi2.FontSize = new FontSize(16); mi2.Click += new ClickEventHandler(SelectAll); cm.Items.Add(mi2); input.ContextMenu = cm; } public void LowerCase(Object sender, ClickEventArgs args) { MenuItem mi = (MenuItem) args.Source; ContextMenu menu = (ContextMenu) mi.Parent; TextBox thisTextBox = (TextBox) menu.PlacementTarget; thisTextBox.Text = thisTextBox.Text.ToLower(); } public void UpperCase(Object sender, ClickEventArgs args) { MenuItem mi = (MenuItem)args.Source; ContextMenu menu = (ContextMenu)mi.Parent; TextBox thisTextBox = (TextBox)menu.PlacementTarget; thisTextBox.Text = thisTextBox.Text.ToUpper(); } public void SelectAll(Object sender, ClickEventArgs args) { MenuItem mi = (MenuItem)args.Source; ContextMenu menu = (ContextMenu)mi.Parent; TextBox thisTextBox = (TextBox)menu.PlacementTarget; thisTextBox.SelectAll(); } } } |
| myApp = NavigationApplication.Current; win = (Navigation.NavigationWindow) myApp.Windows[0]; ...... private void Button_Back(Object sender, ClickEventArgs e) { // If possible, go to the previous window if(win.CanGoBack()) win.GoBack(); } |
| public class MyApp : NavigationApplication { NavigationWindow win; ...... protected override void OnStartingUp(StartingUpCancelEventArgs e) { win = new NavigationWindow(); // Add elements to the window ...... navWin.Show(); } ...... } |
| mia = new MenuItem[3]; for (int i=0; i<3; i++) { mia[i] = new MenuItem(); cm.Items.Add(mia[i]); mia[i].Foreground = Brushes.Black; } mia[0].Header = "Lower Text"; mia[1].Header = "Upper case"; mia[2].Header = "Select all"; mia[0].Click += new ClickEventHandler(LowerCase); mia[1].Click += new ClickEventHandler(UpperCase); mia[2].Click += new ClickEventHandler(SelectAll); |
| public void LowerCase(Object sender, ClickEventArgs args) { MenuItem mi = (MenuItem) args.Source; ContextMenu menu = (ContextMenu) mi.Parent; TextBox thisTextBox = (TextBox) menu.PlacementTarget; thisTextBox.Text = thisTextBox.Text.ToLower(); } |