我已经从存储库检出了一个XAML应用程序,并且正在尝试构建它。我收到了错误:
The tag 'InverseBooleanConverter' does not exist in XML namespace 'clr- ...
我没有使用通用表单应用程序的经验,但发现InverseBooleanConverter
与FreshEssentials
包有关。我已经为我当前的项目安装了这个软件包,但这并没有解决问题。
XAML的内容:
<UserControl.Resources>
<ResourceDictionary>
<converters:InverseBooleanConverter x:Key="InverseBooleanConverter" />
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Tools.TestTool.Common;component/Styles/ModulesStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
如何避免此错误?
答案 0 :(得分:3)
此错误表示您在XAML中指定为converters
的任何网址(例如xmlns:converters="clr-namespace:MeLibrary.Converters
)都不包含从InverseBooleanConverter
派生的名为IValueConverter
的类。
要解决此问题,请在项目中指出converters
更正名称空间。如果您没有任何InverseBooleanConverter
类,请创建一个并指向converters
新创建的命名空间。
示例转换器:
public class InverseBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
bool testValue = (bool)value;
return !testValue; // or do whatever you need with this boolean
}
catch { return true; } // or false
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Convert(value, targetType, parameter, culture);
}
}