如何编写内联XAML的MultiBinding转换器?添加第二个绑定的方法
内联XAML MultiBinding添加多绑定的写法
问题描述
我想编写内联XAML的MultiBinding转换器,请问如何添加第二个绑定?括号和逗号应该放在哪里?网上有大量XML形式的实现示例,但找不到内联写法的相关内容。
非内联示例:
<TextBlock> <TextBlock.Text> <MultiBinding StringFormat="{}{0:F1}{1:F1}"> <Binding Path="A" /> <Binding Path="B" /> </MultiBinding> </TextBlock.Text> </TextBlock>
我的内联代码:
<StackPanel Grid.Column="0" Orientation="Vertical" HorizontalAlignment="Left" Visibility="{MultiBinding Converter={StaticResource multi_bool_vis_conv}, Bindings={Binding LabelFormat.HasLotMaskShiftCode}}">
需要添加第二个绑定LabelFormat.HasSomeOtherCode,请问该如何实现?
解决方案
内联写法里,Bindings属性需要传入绑定集合,直接用逗号分隔多个{Binding}表达式即可,不需要额外的嵌套括号。
修改后的内联代码如下:
<StackPanel Grid.Column="0" Orientation="Vertical" HorizontalAlignment="Left" Visibility="{MultiBinding Converter={StaticResource multi_bool_vis_conv}, Bindings={Binding LabelFormat.HasLotMaskShiftCode}, {Binding LabelFormat.HasSomeOtherCode}}">
关键说明
- 每个绑定都是独立的
{Binding ...}表达式,用逗号分隔后直接跟在Bindings属性后 - 保持代码格式整洁可以让多个绑定分行显示,不影响功能
内容的提问来源于stack exchange,提问作者EllieK
相关产品推荐
相关产品推荐

