使用内行添加文本时未设置文本框的文本属性

本文关键字:文本 置文本 属性 添加 | 更新日期: 2023-09-27 18:06:48

我正在尝试格式化部分文本,如'这是测试'。其中字符串的部分以粗体和斜体表示。我得到的字符串是单词{word1, word2, word3......}的集合

<Button Command="{Binding MyCommand}" CommandParameter="{Binding Text, ElementName=MyTextBlock}">
<TextBlock src:TextHelper.FormattedText="{Binding ListOfWords}" Name="MyTextBlock"/>

在帮助器中,我正在解析单词集合,我正在设置内联格式,这是正常工作的,即我在UI上看到正确格式化的文本

textBlock.Inlines.Add(span);

但是当按钮被点击第一次我没有得到任何值,因为文本块的文本属性是空的。

我遇到了一个类似的问题

阅读c# Textblock文本属性使用内行填充

但是我不能使用加载方法。是否有某种方法可以获取文本的值并传递给命令?

使用内行添加文本时未设置文本框的文本属性

使用如下引用

 CommandParameter="{Binding Text, Source={x:Reference MyTextBlock}}"

 CommandParameter="{Binding Source={x:Reference MyTextBlock}}"

此外,您还可以使命令异步并等待一定数量的任务。延迟,直到属性被填充。