F # не может использовать сетку данных в WPF .net в интерактивном режиме - PullRequest
0 голосов
/ 19 февраля 2011

Мой скрипт ниже:

#light

#r "WindowsBase"    
#r "PresentationCore"    
#r "PresentationFramework"

open System
open System.Windows
open System.Windows.Controls

let window = new System.Windows.Window(Name="Test",Width=500.0,Height=500.0)    
window.Visibility <- Visibility.Visible    
window.Show()    
let mutable wp = new System.Windows.Controls.DataGrid()

Окно инициализации в порядке, но когда я инициализирую сетку данных, возникает ошибка:

graph.fsx (18,46): ошибкаFS0039: Тип 'DataGrid' не определен.

, но когда я наведу курсор мыши на "System.Windows.Controls.DataGrid ()", появляется всплывающее окно, показывающее определение сетки данных.

Так что я пропустил?Как использовать сетку данных в F #.

Ответы [ 3 ]

0 голосов
/ 07 октября 2011

Я не уверен, в чем причина этого в F # 2.0, но проблема, кажется, решена в F # 3.0

0 голосов
/ 13 апреля 2012

Когда вы ссылаетесь на сборку PresentationFramework без указания версии, fsi загрузит версию 3.0, которая не включает DataGrid. Для ссылки на версию 4.0 вы можете использовать полное имя:

#r "PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

или вы можете использовать полный путь к сборке. В моей системе это:

#r @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\PresentationFramework.dll"   
0 голосов
/ 19 февраля 2011

С MSDN :

Пространство имен: System.Windows.Controls

Монтаж: System.Windows.Controls.Data (в System.Windows.Controls.Data.dll)

Вам необходимо указать правильную сборку:

#r "System.Windows.Controls.Data"
...