【发布时间】:2014-07-14 15:08:16
【问题描述】:
我在 F# 中编写了以下转换器
namespace My.FSharpLibrary
open System
open System.Collections.Generic
open System.Linq
open System.Text
open System.Threading.Tasks
open System.Globalization
open System.Windows.Data
type ValueCompareConverter() =
member val ReferenceValue = Unchecked.defaultof<float> with get,set
interface IValueConverter with
member this.Convert(value,targetType,parameter,culture) =
let f = float (value.ToString())
match parameter.ToString() with
| "LessThan" -> f < this.ReferenceValue :> obj
| "GreaterThan" -> f > this.ReferenceValue :> obj
| _ -> failwith "Invalid Converter parameter"; false :> obj
member this.ConvertBack(value,targetType,parameter,culture) =
failwith "Not implemented"
我可以在 Object Browser 中看到这个转换器,但是当我在 C# WPF 项目中添加对我的库的引用并添加以下 xaml 代码时
... xmlns:helpers="clr-namespace:My.FSharpLibrary" ...
...
<helpers:ValueCompareConverter ReferenceValue="0.0" x:Key="compareToZeroConverter" />
我收到以下错误
错误 140 名称“ValueCompareConverter”在命名空间“clr-namespace:My.FSharpLibrary”中不存在。
有什么线索吗?
【问题讨论】:
标签: wpf f# ivalueconverter