我是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
我刚刚制作了一个新的空白项目并尝试了完全相同的方式并且它有效..?
答案 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"