1. ホーム
  2. wpf

[解決済み】1つのWPF TextBlockに複数の値をバインドする方法は?

2022-04-03 19:44:28

質問

現在使用している TextBlock という名前のプロパティの値をバインドするために、以下のようにします。 Name :

<TextBlock Text="{Binding Name}" />

今度は 別の という名前のプロパティがあります。 ID を同じ TextBlock .

2つ以上の値を同じ TextBlock ? 単純な連結でできるのでしょうか? Name + ID また、そうでない場合、他にどのような方法があるのでしょうか?

どのように解決するのか?

を使用することができます。 MultiBinding と組み合わせることで StringFormat プロパティを使用します。使い方は以下のような感じです。

<TextBlock>
    <TextBlock.Text>    
        <MultiBinding StringFormat="{}{0} + {1}">
            <Binding Path="Name" />
            <Binding Path="ID" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

贈与 Name の値が FooID の値が 1 この場合、TextBlockの出力は次のようになります。 Foo + 1 .

.NET 3.5 SP1 および 3.0 SP2 以降でのみサポートされます。