1

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

module FSharpProject.ViewModel

type A =
    member x.a = 1

在其他引用 FSharpProject 的项目(用 C# 编写的典型 wpf 应用程序)中,我有这样的 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>
4

1 回答 1

1

DataType应该是简单的data:A{x:Type data:A}

<DataTemplate x:Key="LogDataTemplate" DataType="data:A">
于 2012-11-09T08:47:14.927 回答