参考F#ViewModel的C#WPF项目

时间:2012-11-08 10:44:55

标签: c# wpf f#

我有一个名为FSharpProject的项目,其代码如下:

module FSharpProject.ViewModel

type A =
    member x.a = 1

在其他项目(C#中典型的wpf应用程序编写)中引用了FSharpProject我有这样的xaml文件:

<UserControl x:Class="CSharpProjectView"
             x:Name="Root"
             xmlns:local="clr-namespace:CSharpProjectView"
             xmlns:data="clr-namespace:FSharpProject.ViewModel;assembly=FSharpProject"            
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
...
<DataTemplate x:Key="LogDataTemplate" DataType="{data:A}">
                <TextBlock Text="{Binding a}" />                
            </DataTemplate>

但是我收到数据错误:找不到类型。


UPD:它不起作用:

<UserControl x:Class="CSharpProjectView"
             x:Name="Root"
             xmlns:local="clr-namespace:CSharpProjectView"
             xmlns:data="clr-namespace:FSharpProject;assembly=FSharpProject"            
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
...
<DataTemplate x:Key="LogDataTemplate" DataType="{data:ViewModel.A}">
                <TextBlock Text="{Binding a}" />                
            </DataTemplate>

1 个答案:

答案 0 :(得分:1)

您的DataType应该只是data:A{x:Type data:A}

<DataTemplate x:Key="LogDataTemplate" DataType="data:A">