При передачи динамических string-значений через свойство между классами теряется значение С#

Глаз замылен, рассудок затуманен - нужна помощь извне... В wpf-проекте, написанного через MVVM мне необходимо передать строку из класса MainViewModel в окно MainView. При передачи статической строки, всё отрабатывает корректно - и значение приходит в MainView, затем помещается в textblock и выводится в окне, но с динамикой, где изначально (при запуске программы) приходит null, значение не передается в последствии. Что я делаю? Открываю OpenFileDialog и выбираю там файл, его короткое имя помещаю в строку, затем передаю в MainView, но приходит null. Если не передавать строку в MainView, а сразу вывести в MessageBox - значение верное. Нуждаюсь в вашей помощи.

public class MainViewModel : BaseViewModel
{
    private string temp = "some file";
    public string GetTemp => temp;
    public MainViewModel()
    {
        
    }

    #region ОбластьCurrentOpenedFile

    //название файла, открытого кнопкой "Select parser"
    private string shortFilename;
    public string GetShortFilename
    {
        set
        {
            if(shortFilename!=value)
            {
                shortFilename = value;
                RaisePropertyChanged("shortFilename");
            }
        }
        get
        {
            return shortFilename;
        }
    }

    #endregion

    //Рабочий код
    #region FindFile

    private ICommand findFile;

    public ICommand FindFileCommand
    {
        get
        {
            return findFile ?? (findFile = new RelayCommand(find_execute));
        }
    }

    private void find_execute(object parameter)
    {
        var filename = new DialogService().ShowOpenFileDialog();
        if (string.IsNullOrEmpty(filename))
        {
            return;
        }

        //запись в поле для отображения CurrentOpenedFile
        shortFilename = filename;
        char slash = '\\';
        int lastIndexOf = shortFilename.LastIndexOf(slash) + 1;
        string result = shortFilename.Substring(lastIndexOf);
        shortFilename = string.Empty;
        shortFilename = "Current file: " + result;
    }

    #endregion

Класс, где реализован INPC

public class BaseViewModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged([CallerMemberName] string property = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
        }
    }

MainView

public partial class MainView : Window
    {
        MainViewModel mvm;

        public string GetSomeInfo
        {
            get => mvm.GetShortFilename;
        }
        public MainView()
        {
            InitializeComponent();
            mvm = new MainViewModel();

            //help fucntions
            StartClock();
        }

        #region AllForClock
        public void StartClock()
        {
            DispatcherTimer timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(1);
            timer.Tick += timer_Tick;
            timer.Start();
        }

        void timer_Tick(object sender, EventArgs e)
        {
            tbClock.Text = DateTime.Now.ToLongTimeString();
            tbCurrentFileInfo.Text = "Current file: " + GetSomeInfo;
        }

        #endregion
    }

Ответы (0 шт):