问题标签 [elmish-wpf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

wpf - 在 Elmish.WFP 中,如何为 DataGrid 创建索引绑定?(绑定到列表元素)

在 DataGrid 的以下 UserControl 中,该行:

通过索引执行与列的绑定,如何在 Elmish.WPF 中进行此绑定?

假设该行的 DataContext 是 Rows,在 C# 中,Row 定义为:

提前致谢!

完全公开,这里是完整的 UserControl XAML:

0 投票
2 回答
79 浏览

f# - 使用 Elmish.wpf/F#,如何在 WPF 中将字符串选项显示为字符串或 null,而不是“Some(string)”?

我是 F# 的新手。在 WPF 中,我在 Datagrid 中使用 DisplayMemberBinding 作为:

(完整的)支持 F# 模块(在 Elmish.wpf 中)是:

DisplayMememberBindings 将 LastName 显示为“Some(LastName1)”,将 BirthDate 显示为“Some(09/14/2020 00:00:00)”。

如何获取 LastName: string 选项以返回 null 或字符串的值,以便显示显示“LastName1”而不是“Some(LastName1)?

出生日期也是如此,如何将 BirthDate 显示为“9/14/2020”而不是“Some(09/14/2020 00:00:00)?

TIA

完整源代码位于:Example DataGrid

0 投票
1 回答
79 浏览

listview - 使用 Elmish.WPF 时,如何从自定义 WPF 列表视图中为路由事件获取选定的列表视图项?

我是 Elmish 的新手。

WPF 绑定将自定义控件用作:

我有一个 C# 自定义 ListView 在选择列表视图项时引发以下路由事件:

我不需要“IVisit”的 C# 转换,但我确实需要从 F# 模型中选择的列表视图项是访问类型。也就是说,我需要实际的对象约会密钥。但我得到的是: “Elmish.WPF.ViewModel<object, object>”

ListView 的 itemsSource 在 Elmish.WPF 中定义为“AppointmentKeys”:

那么,问题来了:在后面的代码中,如何从ListView中返回用户选择的F#记录?

更具体地说,当“SelectedItem”来自 MouseButtonEvents 上的代码隐藏绑定时,如何编写 F# 代码以返回选定的列表视图项?

0 投票
1 回答
134 浏览

f# - 在 F# 中,“期望”和“给定”之间类型不匹配的错误是什么意思?

使用 Binding.subModelSelectedItem() 时收到以下错误:

从以下 F# 代码:

然后,在绑定中:

我不明白错误信息。错误信息是什么意思?从谁那里“期待”?“给予”从何而来?

对不起,我在这里的无知,但这个新手没有尝试过解决这个问题。

感谢您的任何帮助。

TIA

0 投票
1 回答
39 浏览

f# - 在 C# 中,如何获取 F#/Elmish.WPF 对象的类/模块类型?

我正在尝试将 F# 与 C# 混合使用。

在我的 C# Dependency 属性中,我需要 e.NewValue 的类型——它是从 F#/Elmish.WPF 提供的对象

e.NewValue.GetType() 返回:

{Name = "ViewModel 2" FullName = "Elmish.WPF.ViewModel2[[System.Object, System.Private.CoreLib, 版本=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, 版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e]]"} System.Type {System.RuntimeType}

这什么也没告诉我。

如何从 F#/Elmish.WPF 获取对象的类/模块类型

谢谢你。

TIA

作为全面披露,这来自:

但是,我看不到如何从 Elmish 转换 NewValue,因此希望 GetType() 能对此有所了解。

0 投票
2 回答
114 浏览

f# - 如何在 Elmish.WPF 中完成子/子模型到父/主模型的消息传递?

(新手问题)。

在 Elmish.WPF 中,我有一个父模块 App,它包含一个子模块 FinderLastName:

子模型 FinderLastName 接收来自 UI 的文本输入,我需要将其传输到主 App 模块。

假设子模型 FinderLastName 具有模型、消息和更新的典型 Elmish.WPF 结构,我如何将文本输入从子模型/子模型传输到父模型/主模型?

(我为 Elm-spa 找到了一个很好的讨论,但是如何在 Elmish.WPF 中使用它?https: //discourse.elm-lang.org/t/modifying-parent-state-from-child-page- in-an-elm-spa-example-like-architecture/2437 )

任何想法将不胜感激。

TIA

找到了!请参阅非常好的博客: https ://medium.com/@MangelMaxime/my-tips-for-working-with-elmish-ab8d193d52fd

大概3/4的路下来,让孩子和家长交流

附录:有关 Elmish 使用的事件循环的详细说明,请参阅:https ://elmish.github.io/elmish/

0 投票
1 回答
58 浏览

f# - LiveCharts LabelFormatter 的 Elmish.Wpf 绑定

我正在尝试将基本折线图的 LiveCharts 示例转换为与 Elmish.Wpf 一起使用

除了“YFormatter”之外,我对所有东西都有绑定。我应该使用哪种绑定?

xaml 是根据基本折线图示例

0 投票
3 回答
170 浏览

multithreading - 如何从 F# 中的非阻塞异步方法更新 WPF GUI

System.InvalidOperationException:“调用线程无法访问此对象,因为不同的线程拥有它。”

我有一个带有按钮的 WPF GUI,单击该按钮时:

  1. 启动控制动画(在 GUI 上),以及
  2. 启动后台进程以获取本地打印机队列。

我不想阻塞主线程(GUI)。但是,当我尝试使用后台进程的结果更新主线程时,我的代码给出了上述错误。

如何让后台异步进程在不违反上下文且不阻塞主线程的情况下更新主线程?

这是我正在使用的更新程序:

编辑#1:以上是完整列表的简短版本。有关使用 Elmish.wpf 的完整源代码,请参阅 https://github.com/awaynemd/AsyncAndElmish。谢谢你。

0 投票
1 回答
38 浏览

elmish-wpf - 模型视图更新可以与 Uno 平台一起使用吗?

我正在研究在 Uno 平台中使用模型视图更新模式。就像这个项目: https ://github.com/unoplatform/Elmish.Uno

但是,Elmish.Uno 很困扰: A:自上次维护以来 3 年 B:从页面和文档来看,我不清楚这个项目如何与 Uno 一起工作,以及它是否是跨平台的。

是否有 Elmish.Uno 的替代品,它也提供模型视图更新?

0 投票
0 回答
103 浏览

c# - Win10 上 Visual Studio 2019 中的 Elmish.WPF 配置文件问题

作为 C# 开发人员,我的解决方案 ( *.sln) 和项目 ( *.csproj) 配置文件很少出现问题,Visual Studio (VS) 可以很好地管理。结果是我基本上不知道这个重要的管道。

但是现在学习 F# 和 Elmish.WPF,我发现 VS 的配置存在问题。

我在这里分叉了 Elmish.WPF:https ://bitbucket.org/fandco/elmish.wpf/src/master/我的问题与在 Visual Studio 2019 v16.9.4 中构建和运行的此存储库的两 (2) 个分支有关, .NET Framework v4.8.04084,在 Win10 (v 21H1) 中。

Elmish.WPF 的那个分支完全展示了我对 .NET 配置的所有无知。;-)

分支master保持不变,C# 项目SingleCounter是启动项目,它正在运行。

这里相关的是HEAD分支:

  • RestoringFandCoExperiments- 配置错误../src/Samples/Ztest/MainWindow.xaml
  • Ztest_and_ZtestDotCore_works-运行../src/Samples/Ztest良好。

RestoringFandCoExperiments带有Ztest(C# 项目调用 F# Elmish.WPF 项目)的分支中的错误MainWindows.xaml是……。

问题:

  1. 为什么我不能在分支中尝试将 F# 项目包含Simple.Core到 C# 项目中(见上图)?ZtestRestoringFandCoExperiments

  2. 为什么必须 ZtestZtest.Core共享相同的名称前缀 ( Ztest),即使它们是单独的项目?

  3. 也许这归结为我不了解CLR命名空间的基本知识以及在连接 C# 和 F# 项目时如何指定它们?

谢谢!