C# wpf图像源:“;格式";使用stringformat绑定(>;文件名)

C# wpf图像源:“;格式";使用stringformat绑定(>;文件名),c#,wpf,binding,string-formatting,C#,Wpf,Binding,String Formatting,我有一个INotifyPropertyChanged-Able类,并认为使用以下内容是一个好主意: <Image Source="{Binding myfilename, StringFormat='FixedPath/{0}.png'}" /> 因此,每当我在源代码中更改我的文件名时,我都会在wpf gui中获得相应的图像 它编译。但在控制台中,我得到一个错误,TargetDefaultValueConverter无法转换myfilename的值。装订工作正常。只有strin

我有一个INotifyPropertyChanged-Able类,并认为使用以下内容是一个好主意:

<Image Source="{Binding myfilename, StringFormat='FixedPath/{0}.png'}" />

因此,每当我在源代码中更改我的文件名时,我都会在wpf gui中获得相应的图像

它编译。但在控制台中,我得到一个错误,TargetDefaultValueConverter无法转换myfilename的值。装订工作正常。只有stringformat似乎没有被应用


我在这里遗漏了什么?

免责声明:这多少有些猜测

根据某些读数,当内置转换器无法提供正确的类型时,会发生该错误。因此,如果绑定到的对象需要一个
字符串
,那么您尝试执行的操作就可以了。但是,
Source
属性实际上是类型
BitmapSource
——出于某种原因,WPF可以将原始
字符串
转换为
BitmapSource
,但因为目标类型不是
字符串
,所以运行内置字符串格式化程序是不正常的


您可以尝试制作自己的ValueConverter,该转换器完全可以执行此格式设置。

关于导致错误消息的类型不匹配,您是正确的。此外,StringFormat参数仅应用于非字符串类型,因此即使将其指定给字符串属性,也不会添加格式。一个定制的转换器是一个不错的选择。谢谢你的澄清,这是一个相当奇怪的限制。