WPF RichTextBox 常用工具栏

<Grid.Resources>
<Style TargetType="{x:Type Button}" x:Key="formatTextStyle">
<Setter Property="FontFamily" Value="Palatino Linotype"></Setter>
<Setter Property="Width" Value="30"></Setter>
<Setter Property="FontSize" Value ="14"></Setter>
<Setter Property="CommandTarget" Value="{Binding ElementName=mainRTB}"></Setter>
</Style>

<Style TargetType="{x:Type Button}" x:Key="formatImageStyle">
<Setter Property="Width" Value="30"></Setter>
<Setter Property="CommandTarget" Value="{Binding ElementName=mainRTB}"></Setter>
</Style>
</Grid.Resources>
<ToolBar Name="mainToolBar" Grid.Row="2" Grid.ColumnSpan="2">

<Button Style="{StaticResource formatImageStyle}" Command="ApplicationCommands.Cut" ToolTip="剪切">
<Image Source="..\Images\EditCut.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="ApplicationCommands.Copy" ToolTip="复制">
<Image Source="..\Images\EditCopy.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="ApplicationCommands.Paste" ToolTip="粘贴">
<Image Source="..\Images\EditPaste.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="ApplicationCommands.Undo" ToolTip="撤销">
<Image Source="..\Images\EditUndo.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="ApplicationCommands.Redo" ToolTip="重做">
<Image Source="..\Images\EditRedo.png"></Image>
</Button>

<Button Style="{StaticResource formatTextStyle}" Command="EditingCommands.ToggleBold" ToolTip="加粗">
<TextBlock FontWeight="Bold">B</TextBlock>
</Button>

<Button Style="{StaticResource formatTextStyle}" Command="EditingCommands.ToggleItalic" ToolTip="斜体">
<TextBlock FontStyle="Italic" FontWeight="Bold">I</TextBlock>
</Button>
<Button Style="{StaticResource formatTextStyle}" Command="EditingCommands.ToggleUnderline" ToolTip="下划线">
<TextBlock TextDecorations="Underline" FontWeight="Bold">U</TextBlock>
</Button>
<Button Style="{StaticResource formatTextStyle}" ToolTip="加红" Click="tbnRed_Click">
<TextBlock Foreground="Red"></TextBlock>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.IncreaseFontSize" ToolTip="增大字体">
<Image Source="..\Images\CharacterGrowFont.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.DecreaseFontSize" ToolTip="缩小字体">
<Image Source="..\Images\CharacterShrinkFont.png"></Image>
</Button>

<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.ToggleBullets" ToolTip="项目符号">
<Image Source="..\Images\ListBullets.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.ToggleNumbering" ToolTip="项目编号">
<Image Source="..\Images\ListNumbering.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.AlignLeft" ToolTip="居左">
<Image Source="..\Images\ParagraphLeftJustify.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.AlignCenter" ToolTip="居中">
<Image Source="..\Images\ParagraphCenterJustify.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.AlignRight" ToolTip="居右">
<Image Source="..\Images\ParagraphRightJustify.png"></Image>
</Button>
<Button Style="{StaticResource formatImageStyle}" Command="EditingCommands.AlignJustify" ToolTip="两端对齐">
<Image Source="..\Images\ParagraphFullJustify.png"></Image>
</Button>



</ToolBar>
  private void tbnBold_Click(object sender, RoutedEventArgs e)
{
if ((FontWeight)rtbContent.Selection.GetPropertyValue(TextElement.FontWeightProperty) == FontWeights.Bold)
rtbContent.Selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Normal);
else

rtbContent.Selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
//ToolBarContentCenter.Command = System.Windows.Documents.EditingCommands.AlignCenter;
}

private void tbnRed_Click(object sender, RoutedEventArgs e)
{
if ((Brush)rtbContent.Selection.GetPropertyValue(TextElement.ForegroundProperty) == Brushes.Red)
rtbContent.Selection.ApplyPropertyValue(TextElement.ForegroundProperty,Brushes.Black );
else

rtbContent.Selection.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
}



posted @ 2012-04-07 17:26  Laro  阅读(1148)  评论(0编辑  收藏  举报