Search code examples
wpfbindingstring-literalsstring-formatting

StringFormat is ignored



This is my binding (shortened, Command-Property is also bound)

<MenuItem Header="Key" CommandParameter="{Binding StringFormat='Key: {0}', Path=PlacementTarget.Tag, RelativeSource={RelativeSource AncestorType=ContextMenu}}"/>

The Tag-Property of ContectMenu's PlacementTarget is a String like

"Short.Plural"

What i expect to receive in the Command-Handler is:

Key: Short.Plural

But what i acutally receive is:

Short.Plural

Solution

  • Label does not use StringFormat but ContentStringFormat. Use it this way:

    <TextBlock x:Name="textBlock" Text="Base Text"/>
    <Label Content="{Binding Path=Text, ElementName=textBlock}" ContentStringFormat="FORMATTED {0}"/>