If I have the label:
<Label Content="{StaticResource Foo}" />
Is there a way of appending the * in xaml?
I am looking for something like:
<Label Content="{StaticResource Foo, stringformat={0}*" />
I am placing the content of my controls from a resource dictionary because the application supports multiple languages. I was wondering if I could append the * in xaml so that I do not have to create an event and then append it when that event fires.
In a resource dictionary I have:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<system:String x:Key="Foo">Name</system:String>
</ResourceDictionary>
in my window I have: ( I merge the last dictionary)
<Label Content="{StaticResource 'Foo'}" />
and that displays Name
I will like the label to display Name* not just Name
Maybe it will be possible to achieve that with a style.
There are multiple ways to do it:
With ContentStringFormat:
<Label Content="{StaticResource Foo}" ContentStringFormat='{}{0}*'/>
With Binding with StringFormat (it only work on string properies thats why you need to use a TextBlock
as the Label
's content)
<Label>
<TextBlock
Text="{Binding Source={StaticResource Foo}, StringFormat='{}{0}*'}"/>
</Label>
*