无法使MultiBinding正常工作

时间:2018-06-28 06:57:05

标签: c# wpf binding

我的测试项目中包含以下代码:

    <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的一个不起作用。如果可能的话,我想避免使用转换器。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:1)

MultiBinding从NET .NET 3.5 SP1开始工作

您遇到了拼写错误,请删除字符串格式的最后一个括号“}”

 <TextBlock.Text>
     <MultiBinding StringFormat="{}{0} + {1}">
         <Binding Path="First" />
         <Binding Path="Last" />
     </MultiBinding>
  </TextBlock.Text>

请告知解决方案是否适合您