Format TextBox with MenuItem: normal, bold, italic : Menu « Windows Presentation Foundation « C# / CSharp Tutorial






<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPF" Height="200" Width="300">
    <DockPanel LastChildFill="True">
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="_Edit">
                <MenuItem Header="Cu_t" Command="ApplicationCommands.Cut" />
                <MenuItem Header="_Copy" Command="ApplicationCommands.Copy" />
                <MenuItem Header="_Paste" Command="ApplicationCommands.Paste"/>
                <Separator/>
                <MenuItem Click="SelectAll_Click" Header="_Select All" />
                <MenuItem Click="Clear_Click" Header="_Clear" />
            </MenuItem>
            <MenuItem Header="_Format">
                <MenuItem Click="TextStyle_Click" Header="_Normal" Name="miNormal" />
                <MenuItem Click="TextStyle_Click" FontWeight="Bold" Header="_Bold" Name="miBold" />
                <MenuItem Click="TextStyle_Click" FontStyle="Italic" Header="_Italic" Name="miItalic" />
            </MenuItem>
        </Menu>
        <TextBox Name="txtTextBox" TextWrapping="Wrap">
            text
        </TextBox>
    </DockPanel>
</Window>

//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
        private void Clear_Click(object sender, RoutedEventArgs e)
        {
            txtTextBox.Clear();
        }
        private void SelectAll_Click(object sender, RoutedEventArgs e)
        {
            txtTextBox.SelectAll();
        }
        private void TextStyle_Click(object sender, RoutedEventArgs e)
        {
            if (sender == miNormal)
            {
                txtTextBox.FontWeight = FontWeights.Normal;
                txtTextBox.FontStyle = FontStyles.Normal;
            }
            else if (sender == miBold)
            {
                txtTextBox.FontWeight = FontWeights.Bold;
            }
            else if (sender == miItalic)
            {
                txtTextBox.FontStyle = FontStyles.Italic;
            }
        }
    }
}
WPF Format Text Box With Menu Item Normal Bold Italic








24.35.Menu
24.35.1.File menuFile menu
24.35.2.Menu and MenuItemMenu and MenuItem
24.35.3.Menu With Sub headingMenu With Sub heading
24.35.4.A main menuA main menu
24.35.5.MenuItems with CommandsMenuItems with Commands
24.35.6.Menu item with shortcut and access keyMenu item with shortcut and access key
24.35.7.Window with Menu, ToolBar, StatusBarWindow with Menu, ToolBar, StatusBar
24.35.8.MenuItem Commands And EventsMenuItem Commands And Events
24.35.9.Add MenuItem to MenuAdd MenuItem to Menu
24.35.10.MenuItem opened eventMenuItem opened event
24.35.11.Use MenuItem.Tag to store user objectUse MenuItem.Tag to store user object
24.35.12.Format TextBox with MenuItem: normal, bold, italicFormat TextBox with MenuItem: normal, bold, italic
24.35.13.MenuBar and ToolBarMenuBar and ToolBar
24.35.14.Add Menu to NavigationWindow ContentAdd Menu to NavigationWindow Content
24.35.15.Menu item action handlerMenu item action handler
24.35.16.Add Menu to the Top of a DockPanel
24.35.17.Create Menu and Add MenuItem
24.35.18.Dock both menu and Toolbar to the top of a panel