public void UpdateSources()
        {
            Displays.Clear();

            Displays.AddRange(ScreenHelper.GetVideoSources(true));

            var propVideoViewModel = ((PropertyVideoViewModel)this.Property);

            var streamModel = propVideoViewModel.Parent.MediaStreamer;

            var deviceId = streamModel.PropertyVideo.DeviceId;

            propVideoViewModel.Display = Displays.FirstOrDefault(d => d.DeviceId == deviceId) ?? Displays.FirstOrDefault();

        }
        public VideoSettingsViewModel(PropertyVideoViewModel property, TrackableViewModel parent) : base(property, parent)
        {
            this.parent.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(IsChanged))
                {
                    RaisePropertyChanged(() => IsChanged);
                }
            };

            UpdateVideoSourcesCommand = new Prism.Commands.DelegateCommand(UpdateSources);

            //Displays.AddRange(ScreenHelper.GetDisplayItems());


            ScreenCaptures.AddRange(ScreenHelper.SupportedCaptures);

            var propVideoViewModel = ((PropertyVideoViewModel)this.Property);
            
            var streamModel = propVideoViewModel.Parent.MediaStreamer;

            var videoModel = streamModel.PropertyVideo;

            var captType = videoModel.CaptType;

            propVideoViewModel.CaptureType = ScreenCaptures.FirstOrDefault(c => c.CaptType == captType) ?? ScreenCaptures.FirstOrDefault();


            Displays.AddRange(ScreenHelper.GetVideoSources());

            var deviceId = videoModel.DeviceId;      

            if (string.IsNullOrEmpty(deviceId))
            {// если девайс не задан то берем первый попавшийся
                propVideoViewModel.Display = Displays.FirstOrDefault();
            }
            else
            {// если девайс есть в конфиге, то используем его даже если его нет в списке 
                // чтобы пользователь поменял его вручную
                propVideoViewModel.Display = Displays.FirstOrDefault(d => d.DeviceId == deviceId);
            }

           // ((PropertyVideoViewModel)this.Property).Display = Displays.FirstOrDefault(d => d.DeviceId == deviceId) ?? Displays.FirstOrDefault();

        }