Use Application Command to edit RichTextBox
<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="350" Width="500">
<DockPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="CommandTarget" Value="{Binding ElementName=rtbTextBox1}" />
</Style>
</StackPanel.Resources>
<Button Content="Clear" Name="btnClear" Click="btnClear_Click" />
<Separator Margin="5"/>
<Button Content="Cu_t" Command="ApplicationCommands.Cut" />
<Button Content="_Copy" Command="ApplicationCommands.Copy" />
<Button Content="_Paste" Command="ApplicationCommands.Paste" />
<Separator Margin="5"/>
<Button Content="_Undo" Command="ApplicationCommands.Undo" />
<Button Content="_Redo" Command="ApplicationCommands.Redo" />
<Separator Margin="5"/>
<Button Content="_Bold" Command="EditingCommands.ToggleBold" />
<Button Content="_Italic" Command="EditingCommands.ToggleItalic" />
<Button Content="Underline" Command="EditingCommands.ToggleUnderline" />
<Separator Margin="5"/>
<Button Content="_Right" Command="EditingCommands.AlignRight" />
<Button Content="C_enter" Command="EditingCommands.AlignCenter" />
<Button Content="_Left" Command="EditingCommands.AlignLeft" />
</StackPanel>
<RichTextBox DockPanel.Dock="Bottom" Name="rtbTextBox1"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible">
<FlowDocument>
<Paragraph FontSize="12">
paragraph
</Paragraph>
<Paragraph FontSize="15">
paragraph
</Paragraph>
<Paragraph FontSize="18">A List</Paragraph>
<List>
<ListItem>
<Paragraph>
<Bold>Bold List Item</Bold>
</Paragraph>
</ListItem>
<ListItem>
<Paragraph>
<Italic>Italic List Item</Italic>
</Paragraph>
</ListItem>
<ListItem>
<Paragraph>
<Underline>Underlined List Item</Underline>
</Paragraph>
</ListItem>
</List>
</FlowDocument>
</RichTextBox>
</DockPanel>
</Window>
//File:Window.xaml.cs
using System.Windows;
namespace WpfApplication1
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void btnClear_Click(object sender, RoutedEventArgs e)
{
rtbTextBox1.SelectAll();
rtbTextBox1.Cut();
}
}
}
Related examples in the same category