当用户点击RichTextBox(Wpf)中单词内的say时,我需要从Caret前面的单词或字符中获取文本属性。现在他们都在为我提供价值,即FontFamily,FontSize&前景色但我似乎无法获得背景色。似乎后台的属性返回一个Brush值,用于稍后设置属性,在这个实例中我得到一个null!我已经尝试了很多方法来获取它,但似乎都失败了(TextRange也是如此)所以我正在寻求一些帮助! :) BTW它在VS2010 .Net 4
吉姆
private void ScratchPad_OnPreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var start = ScratchPad.CaretPosition;
var end = start.GetNextContextPosition(LogicalDirection.Backward);
// ScratchPad is the RichTextBox !
ScratchPad.Selection.Select(end, start);
var bg = ScratchPad.Selection.GetPropertyValue(TextElement.BackgroundProperty);
var fg = ScratchPad.Selection.GetPropertyValue(TextElement.ForegroundProperty);
var fs = ScratchPad.Selection.GetPropertyValue(TextElement.FontSizeProperty);
var ff = ScratchPad.Selection.GetPropertyValue(TextElement.FontFamilyProperty);
//RtbFontSizes.SelectedValue = Convert.ToDouble(fs);
//RtbFontList.SelectedValue = ff.ToString();
ScratchPad.Selection.Select(start, start);
}