我一直在“yyy中不存在名字xxx”。 我不明白为什么,我想我尝试了所有可能的组合。
我的所有cs文件,包括主窗口都在“Web_Media_Seeker_WPF”命名空间
Converters.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace Web_Media_Seeker_WPF.WPFConverters
{
public class BoolToValueConverter<T> : IValueConverter
{
public T FalseValue { get; set; }
public T TrueValue { get; set; }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return FalseValue;
else
return (bool)value ? TrueValue : FalseValue;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value != null ? value.Equals(TrueValue) : false;
}
}
public class BoolToObjectConverter : BoolToValueConverter<Object> { }
public class BoolToStringConverter : BoolToValueConverter<String> { }
public class BoolToBrushConverter : BoolToValueConverter<System.Windows.Media.Brush> { }
public class BoolToVisibilityConverter : BoolToValueConverter<System.Windows.Visibility> { }
public class BoolToColorConverter : BoolToValueConverter<System.Windows.Media.Color> { }
public class BoolToImageSourceConverter : BoolToValueConverter<System.Windows.Media.ImageSource> { }
public class BootToBoolConverter : BoolToValueConverter<bool> { }
public class AddValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
object result = value;
int Value;
if (value != null && targetType == typeof(Int32) &&
int.TryParse((string)parameter,
System.Globalization.NumberStyles.Integer, culture, out Value))
{
result = (int)value + (int)Value;
}
return result;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
MainWindow.xaml
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namesapce:Web_Media_Seeker_WPF.WPFConverters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="Web_Media_Seeker_WPF.MainWindow"
Title="Web Media Seeker"
Height="563"
Width="836">
<Window.Resources>
<local:BoolToImageSourceConverter x:Key="BoolToWorkImageSource"
TrueValue="Images/work.png"
FalseValue="Images/idle.png" />
<local:BootToBoolConverter x:Key="InvertBool"
TrueValue="False"
FalseValue="True" />
<local:BoolToStringConverter x:Key="WorkTooltip"
TrueValue="Working..."
FalseValue="Idle" />
</Window.Resources>
and stuff...
我有错误:
名称“BoolToImageSourceConverter”在名称空间“clr-namesapce:Web_Media_Seeker_WPF.WPFValuesConverters”中不存在。
名称“BoolToStringConverter”在名称空间“clr-namesapce:Web_Media_Seeker_WPF.WPFValuesConverters”中不存在。
名称“BootToBoolConverter”在名称空间“clr-namesapce:Web_Media_Seeker_WPF.WPFValuesConverters”中不存在。
标签'BoolToImageSourceConverter'在XML命名空间'clr-namesapce:Web_Media_Seeker_WPF.WPFValuesConverters'中不存在。
找不到类型'local:BoolToImageSourceConverter'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
找不到类型'local:BoolToStringConverter'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
找不到类型'local:BootToBoolConverter'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
答案 0 :(得分:6)
您的命名空间声明中存在错误:
xmlns:local="clr-namesapce:Web_Media_Seeker_WPF.WPFConverters"
应该是
xmlns:local="clr-namespace:Web_Media_Seeker_WPF.WPFConverters"
您放置namesapce
而不是namespace
答案 1 :(得分:0)
没有拼写错误我遇到了这个问题。 问题不是直接与XAML,或至少不完全。原始开发人员将Window标记命名为与代码隐藏类名相同的名称,现在似乎已被禁止。这是XAML的唯一问题。其他所有内容都与WPF和Windows.System.Data库中的重叠有关,导致IValueConverter(在System.Windows.Data命名空间中)无法识别。 我首先在对象浏览器中搜索了具有IValueConverter接口的所有库。其中有两个在我的项目中,一个是事后的想法因为我认为我需要它来替换我删除的WPF工具包3.5的元素。我删除了我认为我可以不用的那个,并删除了这个问题。这是一种含糊不清的参考文献。错误,但它没有那样出现。