public IFragmentPaneViewModel GetFragmentPaneViewModel(IFragmentViewModel fragmentViewModel, IEnumerable <IDeviceViewModel> deviceViewModels) { IFragmentPaneViewModel fragmentPaneViewModel = _fragmentPaneViewModelgettingFunc(); fragmentPaneViewModel.FragmentViewModel = fragmentViewModel; IDeviceViewModel deviceViewModel = GetParentDevice(deviceViewModels, fragmentViewModel); //событие изменения подписи устройства void OnDeviceViewModelOnPropertyChanged(object s, PropertyChangedEventArgs e) { if (s is IDeviceViewModel) { IDeviceViewModel dvm = s as IDeviceViewModel; if (e.PropertyName == nameof(dvm.DeviceSignature)) { SetPaneTitle(fragmentPaneViewModel, fragmentViewModel, dvm); } } } deviceViewModel.PropertyChanged += OnDeviceViewModelOnPropertyChanged; LocalizeDictionary.Instance.PropertyChanged += (o, e) => { SetPaneTitle(fragmentPaneViewModel, fragmentViewModel, deviceViewModel); }; SetPaneTitle(fragmentPaneViewModel, fragmentViewModel, deviceViewModel); return(fragmentPaneViewModel); }
private void SetPaneTitle(IFragmentPaneViewModel fragmentPaneViewModel, IFragmentViewModel fragmentViewModel, IDeviceViewModel deviceViewModel) { if (!(_localizerService.TryGetLocalizedString(fragmentViewModel.NameForUiKey, out string title))) { title = fragmentViewModel.NameForUiKey; } fragmentPaneViewModel.FragmentTitle = title + " (" + deviceViewModel.DeviceSignature + ")"; }