WPF转换器错误

时间:2013-08-02 02:08:39

标签: wpf vb.net xaml visual-studio-2012

我是WPF的新手,我需要使用转换器..

我在转换器的vb.net代码中有这个

Namespace converters
<ValueConversion(GetType(Double), GetType(Double))> _
Public Class WidthConverter
    Implements IValueConverter

    Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
        ' value is the total width available

        Dim otherWidth As Double
        Try
            otherWidth = System.Convert.ToDouble(parameter)
        Catch
            otherWidth = 100
        End Try
        If otherWidth < 0 Then
            otherWidth = 0
        End If

        Dim width As Double = CDbl(value) - otherWidth
        If width < 0 Then
            width = 0
        End If
        Return width
        ' columnsCount;
    End Function

    Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
        Throw New NotImplementedException()
    End Function
End Class

结束命名空间

在我的XAML中我有这个

 <Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPF_NewProject.converters"     
Title="MainWindow" Height="594.796" Width="596.221">

哪个没有错误,但是当我这样做时

    <Window.Resources>
        <local:WidthConverter x:Key="widthConverter"/>
</Window.Resources>

我得到了

  

名称“WidthConverter”在名称空间“clr-namespace:WPF_NewProject.converters”中不存在。

所以我需要知道这是一个错误还是我做错了什么?

修改

我也尝试了相同的结果。

xmlns:local="clr-namespace:converters"

修改2

我刚刚制作了一个新的空白项目并尝试了完全相同的方式并且它有效..?

1 个答案:

答案 0 :(得分:0)

错误说The name "WidthConverter" does not exist in the namespace "clr-namespace:WPF_NewProject.converters".

转换器的第一行显示Namespace converters

将声明的名称空间更改为WPF_NewProject.converters或将XML名称空间声明更改为xmlns:local="clr-namespace:converters"