2013-02-15 12 views
9

Qui di seguito è il mio App.xamlCome utilizzare ValueConverter come StaticResource 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> 

avevo scritto TextColorConverter.cs nel namespace SpinrWindowsMobile.Common mentre lancia l'app per me motivo di eccezione non è in grado di creare un'istanza di tipo SpinrWindowsMobile.Common.TextColorConverter. Non so dove mi sto perdendo. sotto è il mio TextColorConverter.cs classe

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 
     } 
    } 

sto utilizzando Microsoft Visual Studio 2012 per Windows Phone come il mio strumento di sviluppo. Un'altra cosa che desidero condividere Non mi viene richiesto ValueConverstionAttribute Classe in Spazio dei nomi System.Windows.Data. Qualcuno può guidarmi dove sbaglio?

risposta

17

La classe diventerà di classe pubblica (per impostazione predefinita sarà interna). Altrimenti non può essere istanziato.

pubblico classe TextColorConverter: IValueConverter

+1

Grazie paul.You salvato miei preziosi orario di lavoro. –