私は科学アプリケーションを開発しており、次のような文字列をレンダリングする必要があります:-
結果: 350cps/ppb
数値部分 (350) と測定単位 ("ppb") はどちらもバインドされたプロパティですが、"Result" と "cps" はローカライズされた文字列です。(また、「結果」リソース文字列には「:」が含まれていないため、他の場所でこの単語を再利用できることに注意してください)。
このような文字列を出力するために、次の XAML を使用しています。
<TextBlock>
<TextBlock Text="{x:Static ar:AppResources.Result}" />
:
<TextBlock Text="{Binding Measurement}" />
<TextBlock Text="{x:Static ar:AppResources.Counts_per_second_abbrev}" />
/
<TextBlock Text="{Binding UnitOfMeasure.Name}" />
</TextBlock>
ただし、このアプローチの問題は、各要素が別々の行にあるため、各要素の間にスペースが挿入され、次のようになることです。
結果 : 350 cps / ppb
正しくフォーマットするには、次を使用できますが、あまり読みやすくありません (「:」と「/」は見落としがちです):-
<TextBlock>
<TextBlock Text="{x:Static ar:AppResources.Result}" />:
<TextBlock Text="{Binding Measurement}" /><TextBlock Text="{x:Static ar:AppResources.Counts_per_second_abbrev}" />/<TextBlock Text="{Binding UnitOfMeasure.Name}" />
</TextBlock>
代わりにいくつかの水平 StackPanels を使用できると思いますが、空白を追加せずにテキストを連結する「適切な」方法はありますか?