Конвертер XAML в другой проект - PullRequest
1 голос
/ 27 октября 2010

Извините за F # ...

У меня есть проект VS со следующим классом:

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()

И я ссылался на этот проект в другом проекте, который имеет ресурсы XAMLфайл, который выглядит следующим образом ...

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

Без ConvertersAndFormatters. перед FixedDecimalConverter Я получаю:

Исключение "Тип 'FixedDecimalConverter' не найден«.

И с «Конвертерами и Формататорами».Я получаю:

Исключение "Невозможно установить свойства для элементов свойств."

Есть идеи, как правильно это сделать?

1 Ответ

1 голос
/ 27 октября 2010

Первое, что я бы попробовал, это переместить тип FixedDecimalConverter из модуля, чтобы он находился непосредственно в пространстве имен. (Сейчас CLI и XAML видят его как вложенный класс внутри класса модуля.)

...