我正在测试VS 2013并且有一个相当奇怪的错误:我正在加载一个XAML文件,该文件使用命名空间来实现Valueconverter。这个WORKS在运行时发现,但在开发视图中我收到一个错误,指出找不到转换器。 我试图清理解决方案,删除.user和.suo文件,但无济于事
代码如下所示:
<RibbonWindow x:Class="bla.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cal="http://www.caliburnproject.org"
xmlns:Converter="clr-namespace:bla.Utils"
Title="bla" Width="1024" Height="768" Icon="/bla;component/Images/Table.ico" MinWidth="300" MinHeight="300">
<RibbonWindow.Resources>
<Converter:SpssVarTypeConverter x:Key="SpssVarTypeConverter"></Converter:SpssVarTypeConverter>
</RibbonWindow.Resources>
</RibbonWindow>
转换器:
using bla.SPSS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;
namespace bla.Utils
{
public class SpssVarTypeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var type = (Types)value;
if (type == Types.numerisch)
{
return Brushes.LightBlue;
}
else
{
return Brushes.PaleVioletRed;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
有人知道如何解决这个问题吗?
答案 0 :(得分:0)
我相信他们的IDE存在一些问题。 当我尝试使用Left(T,2)字符串函数时,我在Visual Basic中收到类似的消息。 它抛出错误'not implemented',因为它与控件属性'Left'冲突。 然后它在代码末尾为Left String插入一个新函数的原型。
Private Function Left(DB As String, p2 As Integer) As String
Throw New NotImplementedException
End Function
这是微软在发布产品之前未能对其进行大量测试的一个很好的例子。