数据绑定转换器“没有实现接口成员”

时间:2012-09-01 17:14:58

标签: c# xaml data-binding datatemplate ivalueconverter

我在使用代码隐藏编写的绑定转换器时遇到问题,并带有相应的标记。它一直给我同样的错误:

  

没有实现接口成员'System.Windows.Data.IValueConverter.Convert(object,System.Type,object,System.Globalization.CultureInfo)'

当我发现代码没有问题时。我正在尝试为列表框设置DataTemplate,该列表框在加载页面时设置了DataContext。以下是我的应用程序中的部分代码

代码背后:

namespace Financial_Manager
{
    public class AmountOnScreenConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return "£" + Math.Round((decimal)value, 2).ToString();
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return null;
        }
    }
}

的Xaml: (local对应于名称空间Financial_Manager)

<Page.Resources>
      <local:AmountOnScreenConverter x:Key="amountConvert" />
      <DataTemplate x:Key="recordTemplate">
             <Grid Name="newElement">
                    <TextBlock Name="txtAmount" Height="17" Width="70" Text="{Binding Path=Amount, Mode=OneWay, Converter={StaticResource amountConvert}}"/>
             </Grid>
      </DataTemplate>
</Page.Resources>

我环顾四周,似乎无法找到应该显示此错误的任何理由。 如果我将转换器移到命名空间之外,则此错误不再存在,但我无法在标记中访问转换器。

有人有任何建议吗?

更新:我现在有视觉工作室接受我的代码是正确的,但必须将转换器移动到自己的命名空间。不明白为什么必须这样做..

0 个答案:

没有答案