C# 在代码隐藏中多次绑定到TextBlock-我哪里出错了?

C# 在代码隐藏中多次绑定到TextBlock-我哪里出错了?,c#,wpf,text,mvvm,multibinding,C#,Wpf,Text,Mvvm,Multibinding,情况很简单,我在code behind中对TextBlock控件进行了多重绑定,如下所示: TextBlock tb = new TextBlock(); tb.VerticalAlignment = VerticalAlignment.Center; tb.HorizontalAlignment = HorizontalAlignment.Center; MultiBinding multiTbBinding = new MultiBinding(); multiTbBinding.Stri

情况很简单,我在code behind中对TextBlock控件进行了多重绑定,如下所示:

TextBlock tb = new TextBlock();
tb.VerticalAlignment = VerticalAlignment.Center;
tb.HorizontalAlignment = HorizontalAlignment.Center;

MultiBinding multiTbBinding = new MultiBinding();
multiTbBinding.StringFormat = "{}{0} + {1}";
multiTbBinding.Bindings.Add(new Binding()
{
    Path = new PropertyPath("PraceLamania[" + vm.PraceLamania.IndexOf(dpl) + "].DPL_Temperatura"),
    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
    Mode = BindingMode.OneWay,
    Source = vm
});
multiTbBinding.Bindings.Add(new Binding()
{
    Path = new PropertyPath("PraceLamania[" + vm.PraceLamania.IndexOf(dpl) + "].DPL_Wynik"),
    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
    Mode = BindingMode.OneWay,
    Source = vm
});

BindingOperations.SetBinding(tb, TextBlock.TextProperty, multiTbBinding);
当我进行单值绑定时,一切正常,但在这种情况下,我不知道哪里出错了


我能请教你一些建议吗?

这个错误在
StringFormat
中很简单。试试看:

multiTbBinding.StringFormat = "{0} + {1}";
如果向原始代码中添加:

multiTbBinding.FallbackValue = "Fallback";
然后,您将在
文本
属性中得到回退