public DeviceParameterTemplateViewModel(GKDeviceParameterTemplate deviceParameterTemplate)
		{
			DeviceParameterTemplate = deviceParameterTemplate;
			DeviceParameterViewModel = new DeviceParameterViewModel(deviceParameterTemplate.GKDevice);
		}
		void Invalidate()
		{
			if (GKManager.ParameterTemplates.Count == 0)
			{
				var parameterTemplate = new GKParameterTemplate()
				{
					Name = "По умолчанию"
				};
				GKManager.ParameterTemplates.Add(parameterTemplate);
			}

			foreach (var parameterTemplate in GKManager.ParameterTemplates)
			{
				foreach (var deviceParameterTemplate in parameterTemplate.DeviceParameterTemplates)
				{
					deviceParameterTemplate.GKDevice.Driver = GKManager.Drivers.FirstOrDefault(x => x.UID == deviceParameterTemplate.GKDevice.DriverUID);
				}
				parameterTemplate.DeviceParameterTemplates.RemoveAll(x => x.GKDevice.Driver == null);

				foreach (var driver in GKManager.Drivers)
				{
					if (driver.IsReal && driver.Properties.Any(x => x.IsAUParameter))
					{
						var deviceParameterTemplate = parameterTemplate.DeviceParameterTemplates.FirstOrDefault(x => x.GKDevice.DriverUID == driver.UID);
						if (deviceParameterTemplate == null)
						{
							deviceParameterTemplate = new GKDeviceParameterTemplate()
							{
								GKDevice = new GKDevice()
								{
									DriverUID = driver.UID,
									Driver = driver
								}
							};
							parameterTemplate.DeviceParameterTemplates.Add(deviceParameterTemplate);
						}

						var properties = new List<GKProperty>();
						foreach (var driverProperty in driver.Properties)
						{
							if (driverProperty.IsAUParameter)
							{
								var property = deviceParameterTemplate.GKDevice.Properties.FirstOrDefault(x => x.Name == driverProperty.Name);
								if (property == null || parameterTemplate.Name == "По умолчанию")
								{
									property = new GKProperty()
									{
										Name = driverProperty.Name,
										Value = driverProperty.Default,
										DriverProperty = driverProperty
									};
									deviceParameterTemplate.GKDevice.Properties.Add(property);
								}
								property.DriverProperty = driverProperty;
								properties.Add(property);
							}
						}
						deviceParameterTemplate.GKDevice.Properties = properties;
					}
				}
			}
		}