我知道下面的代码适用于 VS2013/.net 4.5.1,但是在工作中我们被困在 .net 4 并且无法升级到 latest.net 框架(主要是因为 .net 4.5 是一个就地替代品),如果你知道解决以下问题的方法。我看到这是一个已知的错误,但建议的解决方法都没有帮助我。
我需要将动态字符串格式传递给文本块,因为我们无法绑定 StringFormat,我能想到的唯一替代方法是解析如下文字。以下是我为证明问题而编写的应用程序的代码片段。
看法
<Grid>
<ListBox x:Name="listBox"/>
</Grid>
后面 的代码在后面的代码中,我传递了 Stringformat 文字,如下所示,在现实世界中,我动态传递了 StringFormat 令牌
var template ="<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"><TextBlock Text=\"{Binding StringFormat={}{0: ###.000; -###.00; -} }\"></TextBlock></DataTemplate>";
var parsedDataTemplate = XamlReader.Parse(template) as DataTemplate;
listBox.ItemTemplate = parsedDataTemplate;
如前所述,代码就像 .net 4.5 的魅力一样,我可以为 .net 4 尝试解决方法或任何其他技巧吗?
谢谢