我有一个WPF IMultiValueConverter,我不得不将其设为有状态的(用于ConvertBack功能)。这要求我在XAML中将其所有使用标记为x:Shared="False"
。我对这种方法不满意,但是由于我的特殊问题,我尚未找到更好的替代方法。
为了帮助将来的开发人员使用该代码库,我想在后面编写一些检查代码,该代码至少将向他们使用了转换器但未将其标记为{{1 }}。
在转换器的代码背后,有没有办法找回有人在XAML中标记的“ x:Shared”属性的值?
编辑以澄清这一点:我想确保当用户在资源部分中声明我的转换器的实例时,他们会这样做:
x:Shared="False"
而不仅仅是这个:
<core:LengthToValueConverter x:Key="MyConverter" x:Shared="False"/>
(如果有人想知道为什么要这样做,我将按照in this thread的说明进行单位转换,并且面临与发帖人相同的ConvertBack问题。我欢迎采用更好的替代方法。)