javascript - 如何在 Neutronium 库中执行 javascript?

标签 javascript c# wpf neutronium

我是一个混合应用 WPF + Neutronium(html、css、javascript),

当 ListBox WPF 组件中发生 SelectionChanged 事件时,csharp 会像这样调用代码隐藏:

private void searchList_SelectionChanged(object sender, SelectionChangedEventArgs e)

在此方法中,我需要向 Neutronium (WPF:HTMLViewControl) 发送一个 javascript 命令。

但是我没有发现任何人在 neutronium HTMLViewControl 组件中执行 javascript 命令。

我是怎么做到的?

中子:https://github.com/David-Desmaisons/Neutronium

最佳答案

Neutronium 哲学是使用 MVVVM 模式作为 JS 和 C# 之间的通信。

因此,对 searchList_SelectionChanged 使用react的最佳方式是更新将触发 HTML 端更改的 View 模型属性。

使用 Vue 的伪代码: C#:

private void searchList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   vm.Selected = selected;
}

虚拟机:

public class MainVm
{
    private SelectedObject _Selected ;
    public SelectedObject Selected
    {
        get { return _Selected ; }
        set 
        { 
           _Selected = value; 
           PropertyChanged(this, new PropertyChangedEventArgs("Selected"));
        }
    }
//...
}

Vue 模板:

<component :element:="viewModel.Selected ">
</component >

Neutronium 将负责这里的所有通信。

如果您需要更具体的内容,您甚至可以使用 Vue.js watch在选定的元素上。

我会推荐你​​看一看:https://github.com/NeutroniumCore/Neutronium.SPA.Demo , https://github.com/NeutroniumCore/CodeDependencyScannerhttps://github.com/David-Desmaisons/Music.Cover.Finder这是使用 Neutronium 的好例子。

关于javascript - 如何在 Neutronium 库中执行 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40655413/

相关文章:

c# - 在没有焦点的 WPF TextBox 中显示光标

javascript - 防止我的网站最初加载错误的 CSS

javascript - JQuery Mobile 自动添加奇怪的加载消息

c# - 在 Unity 中验证没有联合的 Cognito 用户

c# - 我可以使用 jquery 下拉列表而不是 ASP.NET

WPF DataGrid 隐藏行详细信息或取消选择行

javascript - 为什么这个语义用户界面搜索代码片段只显示七个项目?

java - 将 Angular js 与 taglib 结合使用

c# - 匹配字符串后跟另一个词的正则表达式

wpf - WPF使用的默认转换器列表?