我在下面的代码中随机获得了InvalidOperationException,有什么好方法来修复它呢?
public class ParsedTextBlock : TextBlock
{
static ParsedTextBlock() {
TextProperty.OverrideMetadata(typeof(ParsedTextBlock),
new FrameworkPropertyMetadata("No Text Set",
FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender,
OnTextChanged)
);
}
private static void OnTextChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
ParsedTextBlock control = (ParsedTextBlock)obj;
control.Inlines.Clear();
control.Inlines.Add(new Run("test " + args.NewValue as string))
}
}发布于 2009-08-28 02:29:29
我不认为在text changed事件中更改文本会是一个好主意。这将导致事件以递归方式触发,并最终生成堆栈溢出...多么讽刺啊:)
https://stackoverflow.com/questions/486615
复制相似问题