zp877300313 2019-08-31 02:48 采纳率: 0%
浏览 2192

WPF MVVM Binding的数据改变 UI不刷新

如题

<DataGrid x:Name="dataGrid" CanUserAddRows="False" Height="120" Width="1200" AutoGenerateColumns="False" ItemsSource="{Binding DeviceList}" SelectionUnit="Cell">
                    <DataGrid.Columns>
                        <DataGridCheckBoxColumn Binding="{Binding DeviceSelected}" ClipboardContentBinding="{x:Null}" Header="选择"/>
                        <DataGridTextColumn  Binding="{Binding DeviceId}" ClipboardContentBinding="{x:Null}" Header="设备ID" Width="120"/>
                        <DataGridCheckBoxColumn  Binding="{Binding DeviceEnable}" ClipboardContentBinding="{x:Null}" Header="可用"/>
                        <DataGridTextColumn  Binding="{Binding DeviceIP}" ClipboardContentBinding="{x:Null}" Header="设备IP" Width="120"/>
                        <DataGridTextColumn  Binding="{Binding DeviceState}" ClipboardContentBinding="{x:Null}" Header="设备状态"/>
                        <DataGridTextColumn  Binding="{Binding DeviceOprate}" ClipboardContentBinding="{x:Null}" Header="运行状态" Width="200"/>
                        <DataGridTextColumn  Binding="{Binding DeviceVer}" ClipboardContentBinding="{x:Null}" Header="设备版本" Width="100"/>
                        <DataGridTextColumn  Binding="{Binding ProxyHost}" ClipboardContentBinding="{x:Null}" Header="代理IP" Width="120"/>
                    </DataGrid.Columns>
                </DataGrid>

以上是Xaml的UI

 var dispatcher = App.Current.Dispatcher;
            dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (Action)delegate () {
                var device = DeviceListView.DeviceList.Where(x => x.DeviceId.Equals(e.Device.DeviceId)).FirstOrDefault();
                DeviceListView.DeviceList.Add(e.Device);
            });

以上是ViewModel修改Binding数据的代码

现在的问题是 数据修改后 UI不刷新显示 但是点击DataGrid 表头后 UI就刷新了 求解

  • 写回答

1条回答

  • pwfd791124 2021-02-15 20:25
    关注

    你是不是用了list,绑定list不支持刷新,改为ObservableCollection动态集合。

    评论

报告相同问题?

悬赏问题

  • ¥15 手机连接电脑热点显示无ip分配
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大