2012-02-29 12 views
1

私はRichTextBox(MyRTB)を使用して自分の小さなテキストエディタを作っています。コンテンツのフォントサイズを抽出する方法

private void CmbFont_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     if (MyRTB != null) 
     {     
      string fontsize = (((ComboBoxItem)CmbFont.SelectedItem).Content).ToString(); 
      MyRTB.Selection.ApplyPropertyValue(Run.FontSizeProperty, fontsize); 
     } 
    } 

今、私は私がの文字列を選択するたびに変更することが私のコンボボックスの値が欲しい:このコードブロックを使用して値が変更されたとき、私は、リッチテキストボックス内で選択したテキストのフォントを変更するコンボボックスを作りましたRichTextBox内の異なるフォントサイズのテキスト。これは可能ですか?

ありがとうございました

答えて

1

選択変更イベントにイベントハンドラを追加します。そのイベントハンドラで

... 
MyRTB.SelectionChanged += OnSelectionChanged; 
... 


void OnSelectionChanged() 
{ 
var fontSize = MyRTB.Selection.GetPropertyValue(TextElement.FontSizeProperty); 
if (fontSize == DependencyProperty.UnsetValue) 
{ 
    // Selection has text with different font sizes. 
} 
else { 
    // (double)fontSize is the current font size. Update Cmb_Font.. 
} 
} 

リッチテキストボックスの選択からTextElement.FontSizePropertyを取得するあなたは再帰的に& CmbFont_SelectionChangedをOnSelectionChanged呼び出していないことを確認してください。

関連する問題