更新ListView,ObservableCollection

时间:2015-07-23 13:05:20

标签: c# wpf listview mvvm observablecollection

我不知道是否是巧合,但在使用更新5更新Visual Studio 2013后,我的列表视图不再更新。因为我不是任何mvvm wpf专家,请求帮助。

每次USB插入或拔出时的应用程序更新列表 - 这都是在backgroundworker和eventhandler的帮助下发生的。

我的ViewModel

public ObservableCollection<Devices> devicelist { get; protected set; }
void DeviceInsertedEvent(object sender, EventArrivedEventArgs e)
{
    fd.FindDevices();
    RefreshList();
}

void DeviceRemovedEvent(object sender, EventArrivedEventArgs e)
{
    fd.FindDevices();
    RefreshList();
}

public void RefreshList()
{
    devicelist = new ObservableCollection<Devices>();
    devicelist.Clear();

    foreach (var item in fd.devices)
    {
        devicelist.Add(item);
    }
}

因此,如果设备插入或拔出,​​方法FindDevices启动(此循环只询问每个设备的信息),最后我获得包含所有信息的设备列表。我喜欢刷新列表。 “fd.devices”只有WPF没有刷新的设备数量正确。 如果有任何问题,请询问。请帮我解决我的问题:)

1 个答案:

答案 0 :(得分:0)

您需要提升属性已更改事件。这会涟漪到UI元素,基本上它会刷新它拥有的数据。

假设列表是从UI绑定的?

如果您还没有基础视图模型类,可能值得一看: