Nam*_* VU 92 wpf binding multibinding
我有一个多重绑定之类的
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="myFirst.Value" />
<Binding Path="mySecond.Value" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
我想将一个固定值,例如"123"传递给上面的两个绑定之一.我怎么能用XAML做到这一点?
Nol*_*rin 137
如果您的值只是a string,则可以在Source绑定的属性中将其指定为常量.如果它是任何其他原始数据类型,则需要定义静态资源并引用它.
sys在XAML的根目录中定义命名空间以指向Systemmscorlib,以下内容应该起作用:
<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>
Run Code Online (Sandbox Code Playgroud)
小智 97
或者,结合上面的两个答案:
<MultiBinding Converter="{StaticResource ScalingConverter}">
<Binding>
<Binding.Source>
<sys:Double>0.5</sys:Double>
</Binding.Source>
</Binding>
<Binding ElementName="TC" Path="ActualWidth" />
</MultiBinding>
Run Code Online (Sandbox Code Playgroud)
这提供了没有资源kludge的正确类型.
ben*_*rce 23
我不太关注这个问题,但有两种选择:
将多行<Binding Source="123" />绑定中的行作为绑定值传递给转换器.
放入ConverterParameter="123"你的MultiBinding:
<MultiBinding Converter="{StaticResource conv}" ConverterParameter="123">
我并不是说这是一个特别好的答案,但这是另一种方法:
<Binding Path="DoesNotExist" FallbackValue="123" />
Run Code Online (Sandbox Code Playgroud)