WPF:尝试再次向Window.Resources添加一个类

时间:2014-08-18 21:03:12

标签: wpf

我做了完全相同的事情,但仍然发生同样的错误:"标签' CenterToolTipConverter' XML命名空间中不存在' clr-namespace:WpfApplication1; assembly = WpfApplication1'。第12行第10位。"

CenterToolTipConverter.cs

namespace WpfApplication1
{
    public class CenterToolTipConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values.FirstOrDefault(v => v == DependencyProperty.UnsetValue) != null)
            {
                return double.NaN;
            }
            double placementTargetWidth = (double)values[0];
            double toolTipWidth = (double)values[1];
            return (placementTargetWidth / 2.0) - (toolTipWidth / 2.0);
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotSupportedException();
        }
    }
}

MainWindow.xaml

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApplication1;assembly=WpfApplication1"
    Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <local:CenterToolTipConverter x:Key="myCenterToolTipConverter"/>
    </Window.Resources>
</Window>

我做错了什么?在此先感谢!!!

1 个答案:

答案 0 :(得分:1)

如果您指的是同一个装配,请移除装配零件。

 xmlns:local="clr-namespace:WpfApplication1"
  

或者

 xmlns:custom="clr-namespace:WpfApplication1;assembly="
  

来自Msdn:如果引用的clr-namespace与引用自定义类的应用程序代码在同一程序集中定义,则可以省略程序集。或者,这种情况的等效语法是指定assembly =,在等号​​后面没有字符串标记。

我希望这会有所帮助。