我正在尝试通过使用Multibinding在我的网格中组合2个字段的信息,多绑定工作正常,但是当我尝试开始格式化这个绑定中的日期之一时,我遇到了问题。
这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>
非常感谢任何帮助或指示
答案 0 :(得分:19)
看不见树木了
简单地删除空括号就解决了我的问题。
<tk:DataGridTextColumn.Binding>
<MultiBinding StringFormat=" {0} - {1:dd/MM/yyyy}">
<Binding Path="UserInitials" />
<Binding Path="EntryDate" />
</MultiBinding>
</tk:DataGridTextColumn.Binding>
感谢所有花时间看的人。
答案 1 :(得分:5)
除非您打算在格式化值中有前导空格,否则应使用此绑定:
<tk:DataGridTextColumn.Binding>
<MultiBinding StringFormat="{}{0} - {1:dd/MM/yyyy}">
<Binding Path="UserInitials" />
<Binding Path="EntryDate" />
</MultiBinding>
</tk:DataGridTextColumn.Binding>
如果StringFormat
以左括号{
开头,则XAML解析器要求您使用一对大括号{}
来转义它。否则解析器会感到困惑,因为在标记扩展的语法中也使用了大括号。
详细信息可在{} Escape Sequence / Markup Extension的XAML文档中找到。
也许你最初在格式字符串中正确放置了转义序列,并且移动的东西会导致空的一对大括号放在错误的位置?