/// <summary> /// Initializes a new instance of the DeviceViewModel class. /// </summary> public DeviceViewModel( IValidator <DeviceViewModel> validator, ICollectionModel <Device> dataModel, IRoomsModel roomDataModel, Device data = null) : base(validator, dataModel, data) { this._roomDataModel = roomDataModel; }
public DialogImportAddressbookViewModel( ICollectionModel <Device> devicesModel, IRoomsModel roomsModel, IDialogService dialogService) { _devicesModel = devicesModel; _roomsModel = roomsModel; _dialogService = dialogService; IsUpdating = false; }
// 請使用 ObservableRangeCollection 來取代 ObservableCollection, // 主要是在實作refresh data 這功能時,使用此類別的ReplaceRange method可以避免DataGrid 跳動 //private ObservableRangeCollection<Device> _devicesCollection; //private static object _lock = new object(); public DevicesViewModel( ICollectionModel <Device> dataModel, IRoomsModel roomDataModel, IDialogService dialogService) { this._dialogService = dialogService; this._roomDataModel = roomDataModel; this._dataModel = dataModel; this._dataModel.Data.CollectionChanged += _dataCollection_CollectionChanged; Devices = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_dataModel.Data); RefreshCommand.Execute(null); }
/// <summary> /// Initializes a new instance of the AnnouncementViewModel class. /// </summary> public AnnouncementViewModel( IValidator <AnnouncementViewModel> validator, ICollectionModel <Announcement> dataModel, IAnnouncementsRoomsModel announcementsRoomsDataModel, IRoomsModel roomDataModel, IDialogService dialogService, Announcement data = null) : base(validator, dataModel, data) { this._announcementsRoomsDataModel = announcementsRoomsDataModel; this._roomDataModel = roomDataModel; this._dialogService = dialogService; this.DstRooms = (ListCollectionView) new ListCollectionView((IList)_roomDataModel.Data); using (DstRooms.DeferRefresh()) { DstRooms.Filter = new Predicate <object>(FilterByDstRoomAddress); DstRooms.SortDescriptions.Add(new SortDescription("ID", ListSortDirection.Ascending)); } }