2010-10-27 3 views
1

Désolé pour le F # ...convertisseur XAML dans un autre projet

J'ai un projet VS avec la classe suivante:

namespace ABCCommonSilverlight 

module ConvertersAndFormatters = 
    type FixedDecimalConverter() = 
     interface IValueConverter with 
      member this.Convert(value, targetType, parameter, culture) = 
       if value = null then 
        "N/A" :> obj 
       else 
        (decimalFormatter (value :?> Double)) :> obj 
      member this.ConvertBack(value, targetType, parameter, culture) = raise <| NotImplementedException() 

Et j'ai référencé ce projet dans un autre projet qui a une XAML ressources fichier qui ressemble à ceci ...

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:y="clr-namespace:ABCCommonSilverlight;assembly=ABCCommonSilverlight"> 

    <y:ConvertersAndFormatters.FixedDecimalConverter x:Key="abcFixedDecimalConverter" /> 
</ResourceDictionary> 

Sans ConvertersAndFormatters. devant FixedDecimalConverter je reçois:

Exception "Le type 'FixedDecimalConverter' n'a pas été trouvé."

Et avec les "ConvertersAndFormatters". Je reçois:

Exception "Impossible de définir les propriétés sur les éléments de propriété."

Une idée de ce que la bonne façon de faire est?

Répondre

1

La première chose que j'essayerais est de déplacer le type FixedDecimalConverter hors du module, de sorte qu'il soit assis directement dans un espace de noms. (À l'heure actuelle, l'interface de ligne de commande et XAML la voient comme une classe imbriquée dans la classe de module.)

Questions connexes