首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Gjallarhorn显示对话框窗口的好方法是什么?

用Gjallarhorn显示对话框窗口的好方法是什么?
EN

Stack Overflow用户
提问于 2017-08-07 21:45:02
回答 1查看 123关注 0票数 4

在MVVM中,有许多关于显示对话框窗口的好方法的问题。但我看到Gjallarhorn看起来不一样。

我必须显示几个对话框,例如,我每个对话框有一个动作。

代码语言:javascript
复制
type Action = 
    |Show
    |Open
    |Input
    |Change
    |Statistic

还有几扇窗户

代码语言:javascript
复制
module Views

open FsXaml

...

type StatisticWindow = XAML<"StatWindow.xaml">

type InputWindow = XAML<"InputWindow.xaml">

...

我展示它的方式

代码语言:javascript
复制
let showDialog (context:BindingSource) (view : System.Windows.Window) = 
    view.DataContext <- context
    view.ShowDialog() |> ignore  

let getViewByAction =
    function
    |Statistic -> Views.StatisticWindow() :> System.Windows.Window
    |Input -> Views.InputWindow() :> System.Windows.Window
    | ...

let getContextByAction model =
    function
    | Statistic -> statContext model 
    | Input -> inputContext model 
    | ...

let performAction model action = 
    let context = getContextByAction model action
    getViewByAction action
    |> showDialog context

这是实现这一目的的合适方法?

我不知道为什么,但我觉得这个任务有一个更干净的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-07 23:16:40

目前,还没有一个很好的解决办法。应用程序体系结构(松散地)基于Elm,它面向单个页面应用程序,实际上不包括“自定义对话框支持”。

现在,您使用的方法可能与我推荐的方法类似。

尽管如此,也有计划实现一个完整的导航框架,桌面上的windows/dialogs将在这个设计中得到考虑。在未来,可能会有具体的指导。

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

https://stackoverflow.com/questions/45556164

复制
相关文章

相似问题

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