いくつかのテキストとバインドパスを組み合わせたボタンのコンテンツをどのように指定しますか?
このような:
<Button Content= "TEXT" + "{Binding Path=ButtonContent}"
このようなもの:
<Button>
<Button.Content>
<TextBlock Text="{Binding SomeBindingPath, StringFormat='Some text {0}'}"/>
</Button.Content>
</Button>
OR
<Button>
<Button.Content>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Some Text"/>
<TextBlock Text="{Binding SomeBindingPath}"/>
</StackPanel>
</Button.Content>
</Button>
基本的に、上記のアプローチを使用して、ボタン内に任意のコンテンツを配置できます。
ほとんどの場合、TextBlock
のように、バインディングでStringFormatを使用できます。
<TextBlock Text="{Binding ElementName=textBox,
Path=Text,
StringFormat='{}{0} - Added Text'}"/>
ただし、これはContentControl
(Button
が継承する)には影響しません。代わりに、ContentStringFormat
を使用できます
<Button Content="{Binding ElementName=textBox,
Path=Text}"
ContentStringFormat="{}{0} - Added Text"/>
また、
ContentControl
あなたはContentStringFormat
を使用しますHeaderedContentControl
あなたはHeaderStringFormat
を使用しますItemsControl
あなたはItemStringFormat
を使用します他の答えに基づいて、これはもう少し簡潔です:
<Button Content="{Binding FirstName, StringFormat='Click here, {0}!'}" />