我正在尝试格式化部分内容,例如“这是 测试 ”。字符串的部分是粗体和斜体。我把字符串作为单词{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);
但是当第一次点击按钮时我没有得到任何值,因为文本块的text属性为空。
我遇到了类似的问题
Read C# Textblock Text Property filled using Inlines
但是我不能使用加载方法。有没有办法获取文本的值并传递给命令?
答案 0 :(得分:0)
使用以下参考
CommandParameter="{Binding Text, Source={x:Reference MyTextBlock}}"
或(传递整个TextBlock)
CommandParameter="{Binding Source={x:Reference MyTextBlock}}"
此外,您还可以使Command async并等待一定数量的Task.Delay,直到属性被填充。