private void fontFamilyBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0 && fontFamilyBox.SelectedItem != null) { TextEditing.SetRTBValue(FontFamilyProperty, fontFamilyBox.SelectedItem.ToString(), true); } }
private void UpdateFontSize(bool focusRTB) { string text = fontSizeBox.Text; double value; if (double.TryParse(text, out value)) { TextEditing.SetRTBValue(FontSizeProperty, Converter.PixelToPoint(value), focusRTB, _rtb); bool found = false; foreach (ComboBoxItem each in fontSizeBox.Items) { if (each.Content.ToString() == text) { each.IsSelected = true; found = true; break; } } if (!found) { fontSizeBox.SelectedIndex = -1; fontSizeBox.Text = text; } } }
private void UpdateFormattingUI(RichTextBox rtb) { object font = TextEditing.GetRTBValue(TextElement.FontFamilyProperty, rtb); if (font != DependencyProperty.UnsetValue) { fontFamilyBox.IsTextSearchEnabled = true; fontFamilyBox.Text = font.ToString(); fontFamilyBox.IsTextSearchEnabled = false; } else { fontFamilyBox.Text = ""; fontFamilyBox.SelectedIndex = -1; } object fontSize = TextEditing.GetRTBValue(TextElement.FontSizeProperty, rtb); if (fontSize != DependencyProperty.UnsetValue) { fontSizeBox.IsTextSearchEnabled = true; fontSizeBox.Text = Converter.PointToPixel((double)(fontSize)).ToString(); fontSizeBox.IsTextSearchEnabled = false; } else { fontSizeBox.Text = ""; fontSizeBox.SelectedIndex = -1; } object fontWeight = TextEditing.GetRTBValue(FontWeightProperty, rtb); boldButton.IsChecked = fontWeight != DependencyProperty.UnsetValue ? (FontWeight)fontWeight == FontWeights.Bold : false; object fontStyle = TextEditing.GetRTBValue(FontStyleProperty, rtb); italicButton.IsChecked = fontStyle != DependencyProperty.UnsetValue ? (FontStyle)fontStyle == FontStyles.Italic : false; object textdecoration = TextEditing.GetRTBValue(TextBlock.TextDecorationsProperty, rtb); underlineButton.IsChecked = TextEditing.ContainsTextDecoration(textdecoration, TextDecorations.Underline); strikethroughButton.IsChecked = TextEditing.ContainsTextDecoration(textdecoration, TextDecorations.Strikethrough); object color = TextEditing.GetRTBValue(ForegroundProperty); if (color != DependencyProperty.UnsetValue) { fontColor.ActiveColor = (Brush)color; } object highlight = TextEditing.GetRTBValue(TextElement.BackgroundProperty); if (highlight != DependencyProperty.UnsetValue) { highlightColor.ActiveColor = (Brush)highlight; } UpdateSelectionListType(rtb); }
private void clearFormatting_Click(object sender, RoutedEventArgs e) { _rtb.BeginChange(); _rtb.Selection.ClearAllProperties(); _rtb.Selection.ApplyPropertyValue(Paragraph.MarginProperty, new Thickness(0)); TextEditing.ChangeRTBParagraphBackground(_rtb, null); _rtb.EndChange(); UpdateFormattingUI(_rtb); }
private static void ExecutedStrikethroughCommand(object sender, ExecutedRoutedEventArgs e) { ContextTextFormatter formatter = (ContextTextFormatter)sender; if (formatter.strikethroughButton.IsChecked == true) { TextEditing.AddTextDecoration(TextDecorations.Strikethrough); } else { TextEditing.RemoveTextDecoration(TextDecorations.Strikethrough); } }
private static void ExecutedUnderlineCommand(object sender, ExecutedRoutedEventArgs e) { ContextTextFormatter formatter = (ContextTextFormatter)sender; if (formatter.underlineButton.IsChecked == true) { TextEditing.AddTextDecoration(TextDecorations.Underline); } else { TextEditing.RemoveTextDecoration(TextDecorations.Underline); } }
private void fontSizeBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { string newSize = (string)((ContentControl)fontSizeBox.SelectedItem).Content; double value; if (double.TryParse(newSize, out value)) { TextEditing.SetRTBValue(FontSizeProperty, Converter.PixelToPoint(value), true); } } }
private void UpdateFontFamily(bool focusRTB) { string text = fontFamilyBox.Text; TextEditing.SetRTBValue(FontFamilyProperty, text, focusRTB, _rtb); bool found = false; for (int i = 0; i < fontFamilyBox.Items.Count; i++) { if (fontFamilyBox.Items[i].ToString() == text) { fontFamilyBox.SelectedIndex = i; found = true; break; } } if (!found) { fontFamilyBox.SelectedIndex = -1; fontFamilyBox.Text = text; } }
private void highlightColor_OnSelectedChangedEvent(object sender, EventArgs e) { TextEditing.SetRTBValue(TextElement.BackgroundProperty, highlightColor.SelectedColor, true, _rtb); }
private void fontColor_OnSelectedChangedEvent(object sender, EventArgs e) { TextEditing.SetRTBValue(ForegroundProperty, fontColor.SelectedColor, true, _rtb); }