public DeviceDetailsViewModel() { Title = "Добавить устройство"; Devices = new ObservableCollection<LibraryDeviceViewModel>(); var drivers = (from GKDriver driver in GKManager.Drivers select driver).ToList(); foreach (var driver in drivers) { if (!GKManager.DeviceLibraryConfiguration.GKDevices.Any(x => x.DriverUID == driver.UID) && (driver.IsPlaceable)) { var gkLibraryDevice = new GKLibraryDevice() { Driver = driver, DriverUID = driver.UID }; var libraryState = new GKLibraryState() { StateClass = XStateClass.No, }; libraryState.Frames.Add(new GKLibraryFrame() { Id = 0 }); gkLibraryDevice.States.Add(libraryState); var deviceViewModel = new LibraryDeviceViewModel(gkLibraryDevice); Devices.Add(deviceViewModel); } } SelectedDevice = Devices.FirstOrDefault(); }
public StateViewModel(GKLibraryState libraryState, GKDriver driver) { AddFrameCommand = new RelayCommand(OnAddFrame); RemoveFrameCommand = new RelayCommand(OnRemoveFrame, CanRemoveFrame); State = libraryState; Driver = driver; Frames = new ObservableCollection<FrameViewModel>( State.Frames.Select(frame => new FrameViewModel(frame)) ); SelectedFrame = Frames.FirstOrDefault(); }