在我的WPF应用程序中,我使用Catel框架中的值转换器。为方便起见,它们派生自MarkupExtension
并从ProvideValue
返回,因此我可以编写{Binding Converter={catel:BooleanToCollapsingVisibilityConverter}}
而不是将它们添加到资源字典中。
在某些情况下,我有很长的转换器属性,因此将它们放入像<UserControl.Resources><catel:BooleanToCollapsingVisibilityConverter x:Key="MyConverter" Link="..."/></UserControl.Resources>
这样的资源字典中更方便,并将它们引用为StaticResource
。但是当我这样做时,项目无法编译并出现以下错误:当前上下文中不存在名称“InitializeComponent”。
有没有办法在资源词典中存储这些对象?
作为一种解决方法,我可以继承所需的值转换器并将初始化代码放入构造函数中,但这不方便。