1. ホーム
  2. wpf

[解決済み] マルチバインディングで1バインディングの定数値を渡すには?

2022-10-27 08:08:40

質問

以下のようなマルチバインディングがあります。

<TextBlock>
    <TextBlock.Text>
        <MultiBinding Converter="{StaticResource myConverter}">
            <Binding Path="myFirst.Value" />
            <Binding Path="mySecond.Value" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

そして、私は上記の2つのバインディングのいずれかに固定値、例えば"123"を渡したいのです。XAMLを使用してどのようにそれを行うことができますか?

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

もしあなたの値が単に string であれば、それを定数として Source プロパティで定数として指定できます。それ以外のプリミティブなデータ型であれば、静的リソースを定義してこれを参照する必要があります。

を定義します。 sys を指すように、XAML のルートで名前空間を定義します。 System を指定することで、以下のように動作するはずです。

<TextBlock>
  <TextBlock.Resources>
    <sys:Int32 x:Key="fixedValue">123</sys:Int32>
  </TextBlock.Resources>
  <TextBlock.Text>
    <MultiBinding Converter="{StaticResource myConverter}">
      <Binding Path="myFirst.Value" />
      <Binding Source="{StaticResource fixedValue}" />
    </MultiBinding>
  </TextBlock.Text>
</TextBlock>