2017-09-26 39 views
0

我正在尝试创建一个像Spirtz一样的速读程序(http://spritzinc.com/)。在文本块中保留一个字母

现在,我正在努力弄清楚如何将单个字符(红色字符)保留在固定位置,而字符周围的字改变长度。

问题是我有可变的字体,文本大小,窗口大小等。我可以使它与硬编码& TextAlignment硬编码,但是当我更改任何大小时,它只会打破和misalign。

我试着创建三个不同的TextBlocks并对齐它们,但正如我所说的,它并不适用于动态大小。

或者我正在以一种错误的方式解决这个问题?有什么建议么?

+0

提示:假设词是 “苹果”,你在哪里注重_second_'p',即。 “苹果”。然后通过计算聚焦字母两侧的精确字符来预先修复或后续修复空白空间。导致“__a'p'ple”。这里的空白区域使用'_'显示 –

回答

0

试试这个:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <TextBlock x:Name="leftText" Grid.Column="0" HorizontalAlignment="Right"/> 
    <TextBlock x:Name="centerText" Grid.Column="1" Foreground="Red"/> 
    <TextBlock x:Name="rightText" Grid.Column="2"/> 
</Grid> 

现在,您可以设置任何字后面的代码一样

leftText.Text = "Exa"; 
centerText.Text = "m"; 
rightText.Text = "ple"; 
相关问题