我有这个代码:
<Label>
<Label.Content>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{} created on {0} by">
<Binding Path="CreationDate" StringFormat="{}{0:dd/MM/yyyy}" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</LabeledLabel.Content>
</Label>
OUTPUT
我总是得到这个created on 21/09/2014 00:00:00 by
我尝试了StringFormat="d"
,但是也没有用。
我的代码有什么问题?
参考方案
您只有一个Binding Path
,因此您只会得到日期和时间。基本上,您需要为您的人员数据类型添加一个Binding
元素。应该更像这样:
<Label>
<Label.Content>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{} created on {0:dd/MM/yyyy} by {1}">
<Binding Path="CreationDate" />
<Binding Path="SomeEmployeeObject.Name" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</LabeledLabel.Content>
</Label>
请注意,您还可以使用DateTime StringFormat
属性设置MultiBinding.StringFormat
,而不是在第一个Binding
对象上添加另一个。您还需要将{1}
添加到MultiBinding.StringFormat
的末尾,以便输出第二个(与人相关的)值。
有关更多信息,请参见MSDN上的MultiBinding Class页。
更新>>>
我不明白为什么将StringFormat属性放在MultiBinding元素上与第一个元素相比有不同的行为
它没有...我可以把它留在那里,但我将其移开了,因为您已经在使用StringFormat
。在StringFormat
上使用MultiBinding
属性实际上与使用string.Format
方法相同。使用该方法,这等效于您在XAML中拥有的方法:
string.Format("created on {0:dd/MM/yyyy} by ", someDate);
这相当于我在您的XAML中输入的内容:
string.Format("created on {0:dd/MM/yyyy} by {1}", someDate, someEmployee.Name);
希望您现在可以看到区别。
Div单击与单选按钮相同吗? - php有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date…
故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…
将谓词<T>转换为Func <T,bool> - c#我有一个包含成员Predicate的类,希望在Linq表达式中使用该类:using System.Linq; class MyClass { public bool DoAllHaveSomeProperty() { return m_instrumentList.All(m_filterExpression); } private IEnumerable&…
jQuery和Gridview更新面板不起作用 - c#我必须按照某些给定条件实现gridview的闪烁:gridview row blinking based on some conditions我能够成功实现它,但是随后我被要求在5秒钟内自动刷新gridview,为此我使用了ajax更新面板和计时器,但随后出现如下新的JavaScript错误:码: <form id="form1" …
Asp.net发送信息表单到页面 - c#我正在尝试使用弹出窗口中的新信息更新旧页面。到目前为止,我尝试过将结果保存在会话中Session["Data"] = DLvrijecampingplaatsen.SelectedItem; 然后当它达到Page_Load时,将其重新加载回旧页面if (Session["Data"] != null) { LBkies…