Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WPF Prism C#观察数据库更改和更新

WPF Prism C#观察数据库更改和更新
EN

Stack Overflow用户
提问于 2016-11-28 13:25:42
回答 1查看 155关注 0票数 0

我有一个仪表板,当构造函数被调用时,它从DB获取数据并相应地更新listbox。导航到新选项卡以将元素添加到数据库并导航回仪表板后,视图不会更新。我已经定义了ObservableCollection,例如,如果我从仪表板视图中的列表中删除元素,它就能正常工作。

因为我使用了Prism,所以我在仪表板上实现了INavigationAware,当以这种方式完成更新时,更新是双向的(删除和添加新的),但问题是我需要保持一致的另一个属性不会保持一致,因为当我导航回视图时,整个ViewModel类都会再次实例化。

下面是构造函数:

代码语言:javascript
运行
AI代码解释
复制
public DashboardViewModel()
{
    service = new Service.ServiceManager();
    controller = ServiceController.GetServices().FirstOrDefault(x => x.ServiceName == service.ServiceName);
    lbPlugins = new ObservableCollection<Plugin>();
    lbPlugins.AddRange(new DbRepository().GetContext().PluginSet);
    StartStopInit();
} 

可以通过该程序安装win服务,并且dashboard会检查该服务是处于启动模式还是停止模式:

代码语言:javascript
运行
AI代码解释
复制
private void StartStopService()
{
    if (startStopTxt == "Start")
    {
        service.StartService();
    }
    else
    {
        service.StopService();
    }
}

问题是,如果我实现INavigationAware,服务会以某种方式被覆盖。我正在检查它是否获取了正确的名称,它看起来生成了一个新实例,现在我可以启动服务again...which is...but again...which是不可能的……

EN

回答 1

Stack Overflow用户

发布于 2016-11-28 14:46:20

我看不到任何new服务管理器的理由。使用unity将其注册为单例,并将其注入为依赖项:

代码语言:javascript
运行
AI代码解释
复制
// in the bootstrapper / module initialization
Container.RegisterType<ServiceManager>( new ContainerControllerLifetimeManager() );

// in the view model's constructor
public DashboardViewModel( ServiceManager serviceManager )
{
    serviceManager.StartOrStopTheService();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40845449

复制
相关文章
Python 有可能删除 GIL 吗?
我们知道,在 CPython 中,有一个全局解释器锁,英文叫 global interpreter lock,简称 GIL,是一个互斥锁,用来保护 Python 世界里的对象,防止同一时刻多个线程执行 Python 的字节码,从而确保线程安全,这导致了 Python 的线程无法利用多核 CPU 的优势,因此有人说 Python 的多线程是伪多线程,性能不高,那么 Python 将来有可能去除 GIL 吗?
somenzz
2021/03/10
2.8K0
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。
一个风轻云淡
2022/11/13
4.3K0
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
第42期:MySQL 是否有必要多列分区
之前的篇章我们讨论的都是基于单列的分区表,那有无必要建立基于多列的分区表?这种分区表数据分布是否均匀?有无特殊的应用场景?有无特殊的优化策略?本篇基于这些问题来进行重点解读。
爱可生开源社区
2022/06/29
1.8K0
直播动不动就几个亿销售额,数据是真的吗?是否有造假的可能?
任何新生的事物在到来之前总会引起争议这也是铁的事实,网络直播最早传播是在色情网站使用的比较多,随着移动互联网的快速发展手机用户大量增多,特别是粉丝经济的快速发展,特别是在电商领域发展速度非常的快速,发展历程已经从传统的电商过度到了社交电商,社交电商主要以拼多多为主要代表,现在随着短视频的发展又带动了直播电商的快速发展,由于疫情的影响很多商品销售都受到了影响,现在不仅仅是自媒体大咖在网络上直播售卖产品,很多科技大咖甚至很多明星都加入到了直播电商的行列来。
程序员互动联盟
2020/07/02
1.8K0
直播动不动就几个亿销售额,数据是真的吗?是否有造假的可能?
HBase 根据表名与列信息与配置信息创建表
private static Configuration configuration=null; static{ configuration= HBaseConfigurati
爱明依
2019/03/12
9340
面试官:你了解Axios的原理吗?有看过它的源码吗?
实现axios.interceptors.response.use和axios.interceptors.request.use
@超人
2021/02/26
3.2K0
面试官:你了解Axios的原理吗?有看过它的源码吗?
多张excel表做连接,就比如1表有A,B,C列,2表有A,B,D列,我想把A,B,C,D合到一张表
前几天在Python铂金群有个叫【水方人子】的粉丝问了一个关于excel处理的问题,这里拿出来给大家分享下,一起学习。
前端皮皮
2022/08/17
3680
多张excel表做连接,就比如1表有A,B,C列,2表有A,B,D列,我想把A,B,C,D合到一张表
如何使用python连接MySQL表的列值?
MySQL 是一个开源关系数据库管理系统,广泛用于存储、管理和组织数据。使用 MySQL 表时,通常需要将多个列值组合成一个字符串以进行报告和分析。Python是一种高级编程语言,提供了多个库,可以连接到MySQL数据库和执行SQL查询。
很酷的站长
2023/08/11
3980
如何使用python连接MySQL表的列值?
【MySQL】分区字段列是否有必要再单独建索引
对于分区字段必须是主键的一部分,那么建了复合主键之后,是否需要对分许字段再单独添加一个索引呢?有没有效果?下面来验证一下
用户5522200
2019/06/02
2.6K0
Excel里的PP可以按列排序,但你知道它的缺陷吗?
在我的文章、书或视频中,均介绍过Excel Power Pivot中的按列排序问题,通过按列排序,可以实现一列数据参照另一列的顺序进行排序,具体可以参考文章《PP-入门前奏:传统透视表无法完成的简单的排序问题》。
大海Power
2021/08/31
1.3K0
POSTGRESQL 创建一个表到底有什么说的? 可说的挺多的
创建一张表,到底有什么说的, 下面是POSTGRESQL 创建数据表的官方文档的内容截图. 那我们就往下看,到底我们可以说点什么
AustinDatabases
2021/07/15
7670
POSTGRESQL 创建一个表到底有什么说的?  可说的挺多的
非分区表是否可以创建分区索引?
有同事问一个问题, 一张非分区表,是否可以创建分区索引? 答案是可以,但分区索引的类型有限制。 MOS这篇文章给出了答案,以及一些例子,What Is The Global Partitioned I
bisal
2019/01/29
1.7K0
使用EXCLE表格,有相同列,取某一列的值
如图,我有两列MAC地址表,然后需要把F列的值取值到D列,可以使用公式:=VLOOKUP(A1,$E$1:$F$44,2,0)进行处理数据。A1代表以哪一列为基础取值参考,$E$1:$F$44代表查找对比范围。
Tacc
2022/01/11
4.4K0
使用EXCLE表格,有相同列,取某一列的值
(a ==1 && a== 2 && a==3) 有可能是 true 吗?
大部分解决方法都是使用toString或者valueOf实现的,主要利用:运算数两边的类型不同时,会进行隐式转换.
用户9914333
2022/07/21
3110
(a ==1 && a== 2 && a==3) 有可能是 true 吗?
国产操作系统有实现弯道超车的可能吗?
国产操作系统采取了成熟的开源操作系统Linux的技术路线,同时也投入了大量研发,从性能上已经较好的实现了追赶,基本达到了好用阶段。
海岛船长加西亚
2022/09/08
1.1K0
使用SQL语句创建表_用sql语句创建员工表
create table 表名 (列1 数据类型 1,列2 数据类型) tablespace 表空间
全栈程序员站长
2022/11/19
4.2K0
使用SQL语句创建表_用sql语句创建员工表
Excel与pandas:使用applymap()创建复杂的计算列
我们之前讨论了如何在pandas中创建计算列,并讲解了一些简单的示例。通过将表达式赋值给一个新列(例如df['new column']=expression),可以在大多数情况下轻松创建计算列。然而,有时我们需要创建相当复杂的计算列,这就是本文要讲解的内容。
fanjy
2022/11/16
4K0
Excel与pandas:使用applymap()创建复杂的计算列
面试突击59:一个表中可以有多个自增列吗?
自增列可使用 auto_increment 来实现,当一个列被标识为 auto_increment 之后,在添加时如果不给此列设置任何值,或给此列设置 NULL 值时,那么它会使用自增的规则来填充此列。
磊哥
2022/06/30
1.9K0
面试突击59:一个表中可以有多个自增列吗?
Python使用SQList判断表是否存
SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tableName';
py3study
2020/01/09
6890
点击加载更多

相似问题

是否有可能修改现有的模板而不是替换它?

11

创建表时,是否可以使用现有表的列类型?

30

可能有一个有可变列的表吗?

33

1列引用,多个表,有可能吗?

16

使用jquery表排序插件--有可能拥有静态列吗?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文