【问题标题】:Cannot get MultiBinding to work无法让 MultiBinding 工作
【发布时间】:2018-06-28 06:57:04
【问题描述】:

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

    <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>

First 和 Last 是字符串属性:

    public string First { get; set; }
    public string Last { get; set; }

    public MainWindowViewModel()
    {
        First = "First";
        Last = "Last";
    }

前两个具有单一绑定的文本块按预期工作,但具有多重绑定的文本块没有。如果可能,我想避免使用转换器 我的代码有什么问题?

【问题讨论】:

标签: c# wpf binding


【解决方案1】:

MultiBinding 适用于 NET .NET 3.5 SP1

你有错字,删除字符串格式中的最后一个括号“}”

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

如果解决方案适合您,请告知

【讨论】:

  • 谢谢,错字确实是问题所在。当我在 XAML 编辑器中打开一个括号时,它会“有帮助地”自动附加一个右括号,但与 C# 编辑器不同的是,当我立即编写另一个右括号时,它不会跳过该右括号...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-23
  • 2014-12-26
  • 2017-12-22
  • 2012-02-28
  • 2015-12-01
  • 2012-01-29
  • 2014-12-16
相关资源
最近更新 更多