There are a couple of approaches to this. In each case, you may need all uppercase or lowercase characters. You can easily apply a ValueConverter that will apply logic and return a value.
A quick example of this type of implementation:
<converters:LowerCase x:Key="toLowerConverter"/> <ControlTemplate TargetType="CustomControlYouMade"> <HeaderedContentControl Header="{Binding RelativeSource={RelativeSource AncestorType={x:Type CustomControlYouMade}}, Path=Header, Converter={StaticResource toLowerConverter}}" /> </ControlTemplate>
And the logic of the converter:
public sealed class LowerCase : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var str = value as string; return string.IsNullOrEmpty(str) ? string.Empty : str.ToLower(); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {} }
For advanced typography options such as ligatures, indexes / superscripts, intercepts, etc., you will need a compatible OpenType font. See the MSDN Article for what is possible.
source share