リソースから取得した小文字の ":" 文字列を表示する Label または TextBlock を使用したいと考えています。たとえば、次のようなものです。
<Label Content="{x:Static Localization:Captions.Login}" />
ここで Captions.Login は文字列 "Login" であり、ビューの出力は "login:" になります。「:」を追加する Label のテンプレートを追加しましたが、このテンプレート内で文字列を小文字にすることはできません。
<ControlTemplate x:Key="LabelControlTemplate" TargetType="{x:Type Label}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<TextBlock>
<Run Text="{TemplateBinding Content}"/>
<Run Text=":"/>
</TextBlock>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Xaml の行である Controltemplate を使用せずに使用しても同じ結果が得られます。
<Label Content="{x:Static Localization:Captions.Login}" ContentStringFormat="{}{0}:" />
最後に、私の質問は、このシナリオで小文字の機能を使用する方法です (これを実現するために TextBox とスタイル変更を使用したくないことに注意してください)。