为什么我在尝试将转换器添加到资源字典时出现此错误



我尝试将转换器添加到资源字典,因为我需要使用它,但是当我只添加声明时,当我运行应用程序时会发生错误。

这是添加转换器声明的方式:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
xmlns:Command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP71"
xmlns:converters="clr-namespace:Sample.Utility.Converters">
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>

这是我收到的错误

{System.Windows.Markup.XamlParseException: The type 'BoolToVisibilityConverter' was not found. [Line: 17 Position: 44]
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at Sample.App.InitializeComponent()
   at Sample.App..ctor()}

我事件试图将转换器添加到 ,但结果相同。

请问有什么可以帮助我解决问题吗?


这是我的转换器的代码

public class BoolToVisibilityConverter : IValueConverter
{
    #region IValueConverter Members
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        bool visible = (bool)value;
        return (visible ? Visibility.Visible : Visibility.Collapsed);
    }
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        Visibility vis = (Visibility)value;
        switch (vis)
        {
            case Visibility.Collapsed:
                return false;
            case Visibility.Visible:
                return true;
        }
        return null;
    }
    #endregion
}

要在应用中全局提供资源字典,您需要将其合并到App.xaml中:

<Application x:Class="Sample.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/uri/to/resource_dictionary.xaml"/>
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

最新更新