views:

33

answers:

2

Hi, I have a multi-binding like

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

And I want to pass a fixed value e.g. "123" to one the the two binding above. How can I do that using XAML?

Please help.

+1  A: 

If your value is simply a string, you can specify it as a constant in the Source property of a binding. If it is any other primitive data type, you need to define a static resource and reference this.

Define the sys namespace in the root of the XAML to point to System in mscorlib, and the following should work:

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

I don't quite follow the question but there are two options:

Put the line <Binding Source="123" /> in your multibinding will pass 123 as a bound value to your converter.

Put ConverterParameter="123" in your MultiBinding:

<MultiBinding Converter="{StaticResource conv}" ConverterParameter="123">

benPearce