2013-02-15 7 views
9

Below To Use ist mein App.xamlWie Valueconverter wie Static in Windows Phone 8

<Application 
    x:Class="SpinrWindowsMobile.App" 
    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" 
    > 

    <!--Application Resources--> 
    <Application.Resources > 
     <ResourceDictionary> 

      <local:LocalizedStrings xmlns:local="clr-namespace:SpinrWindowsMobile" x:Key="LocalizedStrings"/> 
      <converter:TextColorConverter xmlns:converter="clr-namespace:SpinrWindowsMobile.Common" x:Key="TextColorConverter"></converter:TextColorConverter> 

     </ResourceDictionary> 
    </Application.Resources> 

    .... 
</Application> 

I TextColorConverter.cs in Namespace SpinrWindowsMobile.Common geschrieben hatte, während die App starten Es gibt mir Ausnahme kann keine Instanz vom Typ SpinrWindowsMobile.Common.TextColorConverter erstellen. Ich weiß nicht, wo ich vermisse. Im Folgenden finden Sie die meine TextColorConverter.cs Klasse

class TextColorConverter : IValueConverter 
    { 
     public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      // some code 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      // some code 
     } 
    } 

ich Microsoft Visual Studio 2012 für Windows Phone als My Development Tool verwenden. Eine weitere Sache, die ich teilen möchte Ich bekomme keine ValueConverstionAttribute Klasse in System.Windows.Data Namespace. Kann mir jemand sagen wo ich falsch liege.

Antwort

17

Sie werden Ihre Klasse zu einer öffentlichen Klasse machen (standardmäßig wird sie intern sein). Andernfalls kann es nicht instanziiert werden.

öffentliche Klasse TextColorConverter: IValueConverter

+1

Dank paul.You gerettet meine kostbare Arbeitszeit. –