gpt4 book ai didi

c# - 阅读使用内联填充的 C# Textblock 文本属性

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:38 25 4
gpt4 key购买 nike

假设我有一个空的文本 block :

textblock1.Text = "";

然后我只用这两个语句将内联内容放入其中:

textblock1.Inlines.Add(new Run() { Text = "A. ", Foreground = Brushes.Red });
textblock1.Inlines.Add(new Run() { Text = responses.Current.Value, Foreground = Brushes.Black});

令人惊奇的是,我可以在窗口中正确显示内容,但是 Textblock 的 Text 属性一直为空!这会导致问题,因为我需要将此 Textblock 的值传递给另一个 Textblock。

另一件我真的想不通的事情是,当我第二次调用我的函数时,textblock1.Text 属性正在正确更新!除了第一个电话,它会为每个电话正确更新!我在 msdn 上花了几个小时,但我真的很困惑。此外,我可以在网站上阅读:

The Text property returns a value (the appended text of all Run elements in the InlineCollection). However, the returned value does not include any formatting that has been applied to the Run elements.

我已经非常仔细地检查了我的代码并进行了调试,看看是否还有任何其他地方可以操纵这些属性,但我还没有找到。如果有人有任何想法,对我来说这件事变得毫无意义......

最佳答案

只是详细说明我的评论以提供一些意义,

来自 MSDN Docs

Loaded entails that the logical tree that an element is contained within is complete

这对我们有帮助,因为这里的绑定(bind)引用了另一个 TextBlock 元素。绑定(bind)还取决于 DataContext 以及与特定 Binding 相关的其他一些因素,但通常它们会在 UI 加载后进行评估,这是有充分理由的。

因此,一旦 UI 加载,设置源 TextBlockText 会导致一切正常,因为此时 Binding 处于事件状态.

关于c# - 阅读使用内联填充的 C# Textblock 文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com