首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于打开新xaml窗口的F# & FsXaml

用于打开新xaml窗口的F# & FsXaml
EN

Stack Overflow用户
提问于 2015-02-02 15:43:16
回答 2查看 673关注 0票数 3

在学习F#的过程中,我发现使用FsXaml的FsEmptyWindowsApp对于构建f#系统的UI非常有用。我似乎无法克服的一个问题是,从我的创业公司MainWindow.xaml打开一个新窗口。我已经创建了一个ChildWindow.xaml,并在FsXaml中使用XAML提供程序创建了一个类型,但是当

代码语言:javascript
复制
type MainView = XAML<"MainWindow.xaml", true>    
type ChildWindow = XAML<"ChildWindow.xaml",true>

type MainViewModel() as self = 
inherit ViewModelBase()

    ...        

    member x.NewChildWindowCommand = 
        new FunCommand ((fun action -> 
                        let cw = ChildWindow()
                        cw.Root.Activate() |> ignore
                       ),
                        (fun canExecute -> true))

当我运行声明“无法定位资源ChildWindow.xaml”的命令时,我总是会得到一个错误,我已经将它放在MainWindow.xaml上面的项目中,并在后面有它自己的代码,并且总是得到,无法找到资源错误。

我已经尝试过手动加载xaml

代码语言:javascript
复制
Application.LoadComponent(new Uri("/<asseblyname>;component;/ChildWindow.xaml",UriKind.Relative))

但是同样的错误不能定位资源..。

对于如何在FsEmptyWindowsApp中使用XAML类型提供程序(XAML类型提供程序(FsEmptyWindowsApp))打开新窗口的任何帮助和解释,我们将不胜感激。或者,如果有人知道如何使用FsXaml进行页面导航,这将非常有用。我已经下载了Demos,它们中的任何一个似乎都涵盖了多页/窗口演示。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-03 11:51:49

我发现了这个问题,在新创建的xaml文件中,您需要进入属性并将构建操作设置为资源.现在一切都如期而至,真希望我能早点把这件事弄清楚,因为我逃避了几个星期。

票数 2
EN

Stack Overflow用户

发布于 2016-12-19 01:39:10

在FsXaml 2.x中,打开一个新窗口可以如下所示:

代码语言:javascript
复制
type ChildWindow = XAML<"ChildWindow.xaml">

//somewhere in the code
ChildWindow().Show()  //open, don't wait

ChildWindow().ShowDialog()  //open and wait

解决方案文件ChildWindow.xaml应该将生成操作设置为“Resource”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28281348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档