2017-09-26 15 views
0

Spreadz(http://spritzinc.com/)のようなスピードリーダープログラムを作成しようとしています。文字をテキストブロックの中央に置く

今のところ、私は文字の周りの単語が長さを変えている間に、固定された場所に単一の文字(赤い文字)を保持する方法を理解するのに苦労しています。

問題は、可変フォント、テキストサイズ、ウィンドウサイズなどがあることです。マージンを& TextAlignmentでハードコードにすることができますが、サイズを変更すると折れてしまいます。

私は3つの異なるTextBlockを作成して整列しようとしましたが、私が言ったように、動的サイズでは実際には機能しません。

また、この問題に間違った方法で対処している可能性がありますか?助言がありますか?

+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> 

を:言葉はあなたが_second_ 'p'に注力し​​ている "りんご"、であると仮定し、すなわち、 "林檎"。次に、フォーカスされた文字の両側に残っている正確な文字を計算して、空白をあらかじめ修正したり修正したりします。 「__a'p'ple」になりました。空のスペースは '_ 'で示されます –

答えて

0

この試してみてください:あなたは今

leftText.Text = "Exa"; 
centerText.Text = "m"; 
rightText.Text = "ple"; 
関連する問題