首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从OnTextChanged内部编辑TextBlock.Inlines时的InvalidOperationException

从OnTextChanged内部编辑TextBlock.Inlines时的InvalidOperationException
EN

Stack Overflow用户
提问于 2009-01-28 06:05:33
回答 1查看 318关注 0票数 1

我在下面的代码中随机获得了InvalidOperationException,有什么好方法来修复它呢?

代码语言:javascript
复制
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))
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-28 02:29:29

我不认为在text changed事件中更改文本会是一个好主意。这将导致事件以递归方式触发,并最终生成堆栈溢出...多么讽刺啊:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/486615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档