小编use*_*520的帖子

如何在数据库更改时更新 WPF UI

我首先在 C#/WPF/Entity Framework DB 中编写一个应用程序,它与一个专有的工业硬件进行通信,该硬件测量来自冷却剂管线的流量和温度等值。这些值经常通过在后台运行的线程在我的 SQL Server 数据库中更新,然后显示在我的 UI 中。

我目前关心的是如何更新我的 UI 以反映这些变化。这是我如何更新数据网格的示例:

我将我的数据上下文设置为我的视图模型,并实例化一个每秒运行的线程:

    _DataContext = new ViewModels.SummaryTable_ViewModel();
    this.DataContext = _DataContext;
    UIUpdateThread = new Thread(UIUpdaterThread);
    UIUpdateThread.IsBackground = true;
    UIUpdateThread.Start();       
Run Code Online (Sandbox Code Playgroud)

我的网格所基于的模型是一个 IList<>,如下所示:

    private IList<channel> _channel;
    public IList<channel> Channels
    {
        get
        {
            return _channel;
        }
        set
        {
            _channel = value;
            //NotifyPropertyChanged();
            OnPropertyChanged("Channels");
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后每秒我的 UIUpdateThread 调用我的 FillChannels() 方法,如下所示,然后网格根据 propertychanged 通知更新:

using (var DTE = new myEntities())
            {
                if (DTE.channels.Any())
                {
                    var q = (from a in DTE.channels
                             where a.setup.CurrentSetup == true …
Run Code Online (Sandbox Code Playgroud)

c# wpf datagrid multithreading mvvm

2
推荐指数
1
解决办法
2647
查看次数

如何确定可移动驱动器上安装的 Windows 版本

我无法了解如何确定可移动/从属驱动器上安装的 Windows 版本。在我的搜索中,我发现了 DriveInfo 类,它有一些简洁的东西,但没有显示驱动器是否有 XP、Vista 或更高版本(我需要知道这一点,因为它们有不同的目录结构,并且我想自动化该过程备份他们的数据)。

我是否必须以某种方式访问​​驱动器的注册表?我想尽可能避免这种情况,因为它很复杂,并且最终我只想做类似的事情(蹩脚的伪代码):

如果drive.has(XP) 那么

别的

万一

任何帮助将不胜感激。谢谢。

.net vb.net windows registry removable-storage

1
推荐指数
1
解决办法
2万
查看次数