WPF Multibinding字符串格式日期

Eml*_*lyn 8 wpf xaml

我正在尝试通过使用Multibinding在我的网格中组合2个字段的信息,多绑定工作正常,但是当我尝试开始格式化这个绑定中的日期之一时,我遇到了问题.

这两个字段是用户首字母,即EGJ和希望实现类似"EGJ - 01/01/2011"的组合字段的输入日期

下面是我现有的XAML

<tk:DataGridTextColumn.Binding>
  <MultiBinding StringFormat=" {0} - {}{1:dd/MM/yyyy}">
    <Binding Path="UserInitials" />
    <Binding Path="EntryDate" />
  </MultiBinding>
</tk:DataGridTextColumn.Binding>   
Run Code Online (Sandbox Code Playgroud)

任何帮助或指针都非常感谢

Eml*_*lyn 19

无法看到树木

简单地删除空括号解决了我的问题.

<tk:DataGridTextColumn.Binding>
  <MultiBinding StringFormat=" {0} - {1:dd/MM/yyyy}">
    <Binding Path="UserInitials" />
    <Binding Path="EntryDate" />
  </MultiBinding>
</tk:DataGridTextColumn.Binding>
Run Code Online (Sandbox Code Playgroud)

感谢所有花时间看的人.


Mar*_*age 5

除非您打算在格式化值中具有前导空格,否则应使用此绑定:

<tk:DataGridTextColumn.Binding> 
  <MultiBinding StringFormat="{}{0} - {1:dd/MM/yyyy}"> 
    <Binding Path="UserInitials" />
    <Binding Path="EntryDate" />
  </MultiBinding>
</tk:DataGridTextColumn.Binding>
Run Code Online (Sandbox Code Playgroud)

如果StringFormat以左括号开头,{XAML解析器要求您使用一对大括号来转义它{}.否则解析器会感到困惑,因为在标记扩展的语法中也使用了大括号.

有关{}转义序列/标记扩展的XAML文档中的详细信息.

也许你最初在格式字符串中正确放置了转义序列,并且移动的东西导致在错误的位置空的一对括号?