我有一个INotifyPropertyChanged-abled类,并认为使用它是个好主意:
<Image Source="{Binding myfilename, StringFormat='FixedPath/{0}.png'}" />
所以每当我在源代码中更改myfilename时,我都会在我的wpf gui中获得相应的图像。
它编译。但在控制台中我得到一个错误,即TargetDefaultValueConverter转换器无法转换myfilename的值。绑定工作正常。似乎没有应用stringformat。
我在这里缺少什么?
答案 0 :(得分:0)
免责声明:这有点猜想
根据某些读数,当内置转换器无法提供正确的类型时会发生该错误。所以,如果你绑定的东西预期为string
,那么你想要做的就好了。但是,Source
属性实际上是BitmapSource
类型 - 由于某种原因,WPF可以将原始string
转换为BitmapSource
,但因为目标类型不是string
运行内置的字符串格式化程序是不行的。
您可以尝试制作自己的ValueConverter来完成这种格式化。