2013-07-14 6 views
0

Я пытаюсь реализовать класс IValueConverter и отобразить его как ресурс в файле xaml. В какой-то причине им ВСЕГДА получаю ошибку «Имя TypeConverter не существуют в пространстве имен CLR-имен: MyApp»Ресурс IValueConverter, проблема с пространством имен

Но я не могу найти Whats проблема есть, мой конвертер класс имен правильно установлен и т.д ..

Мой XML-файл

<phone:PhoneApplicationPage 
    x:Class="MyApp.Page" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:MyApp" 
    FontFamily="{StaticResource PhoneFontFamilyNormal}" 
    FontSize="{StaticResource PhoneFontSizeNormal}" 
    Foreground="{StaticResource PhoneForegroundBrush}" 
    SupportedOrientations="Portrait" Orientation="Portrait" 
    mc:Ignorable="d" 
    shell:SystemTray.IsVisible="True"> 

... 

<ListBox ItemsSource="{Binding items}" ScrollViewer.VerticalScrollBarVisibility="Disabled"> 

    <ListBox.Resources> 
     <local:TypeConverter x:Name="TypeConverter"/> 
    </ListBox.Resources> 

    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal" /> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 

    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding type, Converter={StaticResource TypeConverter}}" Margin="0,0,12,0" /> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 

</ListBox> 

Мой класс преобразования

namespace MyApp 
{ 
    public class TypeConverter: IValueConverter 
    { 

     public object Convert(object value, Type targetType, object parameter, String culture) 
     { 
      return "-"; 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, String culture) 
     { 
      return null; 
     } 
    } 
} 
+0

Ошибка возникает в дизайнере или во время компиляции? –

ответ

0

Найдено вопрос сам, конвертирование метод имеет неправильные параметры, должно быть:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 

При исправлении этого, разработчик компилятора (и) больше не дает ошибки пространства имен.

 Смежные вопросы

  • Нет связанных вопросов^_^