我的测试项目中包含以下代码:
<StackPanel>
<TextBlock Height="50" Text="{Binding First}" />
<TextBlock Height="50" Text="{Binding Last}" />
<TextBlock Height="50" >
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} + {1}}">
<Binding Path="First" />
<Binding Path="Last" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
第一个和最后一个是字符串属性:
public string First { get; set; }
public string Last { get; set; }
public MainWindowViewModel()
{
First = "First";
Last = "Last";
}
具有单个绑定的前两个TextBlocks可以正常工作,但是具有Multibinding的一个不起作用。如果可能的话,我想避免使用转换器。我的代码出了什么问题?
答案 0 :(得分:1)
MultiBinding从NET .NET 3.5 SP1开始工作
您遇到了拼写错误,请删除字符串格式的最后一个括号“}”
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} + {1}">
<Binding Path="First" />
<Binding Path="Last" />
</MultiBinding>
</TextBlock.Text>
请告知解决方案是否适合您