将SVG转换为XAML后,我得到了很多类似的文本块:
<TextBlock xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" FontSize="10" Foreground="#FF000000"Name="text324947"><Span FontSize="10">79</Span></TextBlock>
现在的问题是:如何访问跨度内的文本?我的TextBlock的Text属性为Empty。
谢谢
答案 0 :(得分:1)
使用Inlines
property(请参阅链接)。
鉴于您的XAML,您可以这样做:
TextBlock tb = this.txt
Span span = (Span) tb.Inlines.FirstInline;
Run run = (Run) span.Inlines.FirstInline;
string text = run.Text;
答案 1 :(得分:0)
Span用于将其他内联流内容元素组合在一起,因此不会直接暴露文本或内容等属性
这里是如何在span内联元素
中获取文本的<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock Name="txtBlock"> <Span Name="span">test</Span> </TextBlock>
</Grid>
</Window>
public MainWindow()
{
InitializeComponent();
string s= (span.Inlines.ToArray()[0] as Run).Text;
// or just try this
string s2= ((txtBlock.Inlines.FirstInline as Span).Inlines.FirstInline as Run).Text;
}