我有一个带有MVVM的C#/ WPF程序。
Kalkulation.Artikel.PartWeight
和Kalkulation.Artikel.SprueWeight
均为小数。
两者的格式都应具有一个可选的小数位和一千个分隔符。
对于每个StringFormat
,我都会得到 三个 错误:
Error XLS0112 Expected ''. Kalkulation MainWindow.xaml 113
Error XLS0414 The type '' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built. Kalkulation MainWindow.xaml 113
Error XLS0112 Expected '
我编译时完全没有错误,一切都按预期进行!
当我更改XAML代码时,错误消息再次弹出。
我已关闭“显示文本框之间的同步”以轻松输入小数。
FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false;
该如何更改?我至少可以“过滤”错误消息吗?
答案 0 :(得分:9)
如果您已经有单引号并且仍然出现XLS0112 XAML
错误,则可能缺少格式化请求{}
前面的定界符{0:C0}
。
在重新格式化时,请小心删除所有不需要定界符的前导文本!
好:
stringformat='Currency {0:C0}' // Proper string formatting
stringformat='{}{0:C0}' // Proper string formatting
坏:
stringformat='{0:C0}' // Functions but raises "XLS0112 XAML"
答案 1 :(得分:1)
简单的解决方案...
由于其中包含逗号,因此必须在其周围加上单引号。
逗号被解释为分隔符,但编译器将它们保持在一起。
答案 2 :(得分:0)
我遇到了同样的问题,并通过手动删除obj / bin文件夹并重新构建解决方案来解决。
有关Xamarin中的类似问题,请参见here。
答案 3 :(得分:0)
在对DateTime进行字符串格式化时,出现了此错误:
Text="{Binding MyDateTime, StringFormat='yyyy-MM-dd
HH:mm:ss'}"
其中

是换行符。
对我来说,解决方案是使用这样的额外反斜杠转义NewLine字符:
Text="{Binding MyDateTime, StringFormat='yyyy-MM-dd\
HH:mm:ss'}"