C# WPF TextBlock NoWrap显示两个字符串,而不是一个字符串

C# WPF TextBlock NoWrap显示两个字符串,而不是一个字符串,c#,wpf,textblock,nowrap,C#,Wpf,Textblock,Nowrap,我在文本块内部运行时遇到问题 当我创建TextBlock时,没有这样的包装: <Window x:Class="Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="35

我在文本块内部运行时遇到问题

当我创建TextBlock时,没有这样的包装:

<Window x:Class="Test.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" x:Name="_window">
    <Grid>
    <TextBlock TextWrapping="NoWrap" Width="100">
      <Run Text="{Binding Value, ElementName=_window}"/>
      </TextBlock>
  </Grid>
</Window>

并将值赋给非常长的字符串,如
新字符串('-',(int)1e6)
,它显示两行而不是一行

我应该怎么做来防止它,并得到准确的一条线

另外,如果不运行,我不能使用TextBlock

使用文本

<TextBlock TextWrapping="NoWrap" Width="100" Text="{Binding Value, ElementName=_window}"/>

也可以使用TextBlock作为内联

<TextBlock Width="100">
    <Span FontSize="50">
        <TextBlock TextWrapping="NoWrap" Text="{Binding Value, ElementName=_window}"/>
    </Span>
    <Span FontSize="20">
        <TextBlock TextWrapping="NoWrap" Text="{Binding Value, ElementName=_window}"/>
    </Span>
</TextBlock>


不,我不能使用smiple TextBlock,因为我需要突出显示text@PG_LoLo您可以使用TextBlock作为内联,而不是运行。我已经更新了上面的答案,看一看。好吧,我会考虑这个技巧,但为什么不正确?@PG_LoLo我希望我能给你一个解释:)这似乎是个bug,不确定。