我怎样才能传递一个绑定多个绑定的常量值?

我有一个多重绑定

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

而且我想把一个固定的值例如“123”传递给上面两个绑定之一。 我怎样才能使用XAML?

如果您的值只是一个string ,您可以在绑定的Source属性中将其指定为常量。 如果是其他任何原始数据types,则需要定义一个静态资源并引用它。

在XAML的根目录中定义sys命名空间,使其指向mscorlib中的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> 

或者,结合以上两个答案:

 <MultiBinding Converter="{StaticResource ScalingConverter}"> <Binding> <Binding.Source> <sys:Double>0.5</sys:Double> </Binding.Source> </Binding> <Binding ElementName="TC" Path="ActualWidth" /> </MultiBinding> 

这提供了没有资源kludge的正确的types。

我不太理解这个问题,但有两个select:

把你的多重<Binding Source="123" /><Binding Source="123" />作为绑定值传递给你的转换器。

在MultiBinding中放入ConverterParameter="123"

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

我不是说这是一个特别好的答案,但这是另一种方法:

 <Binding Path="DoesNotExist" FallbackValue="123" />