0

我是 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>

我明白了

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

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

编辑

我也试过这个,结果相同。

xmlns:local="clr-namespace:converters"

编辑 2

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

4

1 回答 1

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"

于 2013-08-02T09:31:40.143 回答