StringFormat wird ignoriert
Dies ist meine verbindliche (gekürzt, Command-Eigenschaft ist auch gebunden)
<MenuItem Header="Key" CommandParameter="{Binding StringFormat='Key: {0}', Path=PlacementTarget.Tag, RelativeSource={RelativeSource AncestorType=ContextMenu}}"/>
Die Tag-Eigenschaft der ContectMenu ist PlacementTarget ist ein String, wie
"Short.Plural"
Was erwarte ich in der Command-Handler ist:
Key: Short.Plural
Aber was ich eigentlich erhalten ist:
Short.Plural
- schicken Sie diesen Wert mit dem Befehl Parameter?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etikett nicht verwenden, StringFormat aber ContentStringFormat. Diese Art der Nutzung:
Ich bin erstaunt, aber meine tests zeigen, dass
StringFormat
nur gilt, wenn das Ziel d-prop ist der TypString
. Ich habe nie bemerkt dies vor, noch gehört es erwähnt. Ich habe nicht mehr Zeit, um es jetzt, aber das scheint lächerlich.Ernst, das funktioniert:
Nicht:
Seit
Label.Content
ist nicht einString
.Bindung Konverter:
Hinzufügen Windows\UserControl-Ressource:
Finden Sie es im Menü CommandParameter Bindung: