另一个ViewModel的属性不变

时间:2019-09-10 13:44:37

标签: c# .net wpf mvvm

我需要从另一个ViewModel更改属性library(janitor) df %>% tabyl(stock, year) #> stock 2010 2011 #> Amazon 1 0 #> Google 1 1 #> Yahoo 0 1 的值,所以我这样做是为了获得ReaderViewModel。

ViewerViewModel.cs

TextSource

将属性的值更改为以下内容:

        private ReaderViewModel _readerViewModel = new ReaderViewModel();
        public ReaderViewModel ReaderViewModel
        {
            get => _readerViewModel;
            set
            {
                _readerViewModel = value;
                OnPropertyChanged("");
            }
        }

ReaderViewModel.cs

ReaderViewModel.TextSource = "some string";

ReaderPage.xaml

        private string _textSource;
        public string TextSource
        {
            get => _textSource;
            set
            {
                _textSource = value;
                OnPropertyChanged();
            }
        }

但是它根本不起作用,TextBox仍然为空。我真的不明白,问题出在哪里。 ReaderPage的DataContext已经设置为正确的ViewModel。

1 个答案:

答案 0 :(得分:3)

  

我真的不知道问题出在哪里

您正在视图中创建sharedPreferences.registerOnSharedPreferenceChangeListener()的一个实例:

ReaderViewModel

...和<Page.DataContext> <viewModels:ReaderViewModel/> </Page.DataContext> 中的另一个:

ViewerViewModel

设置后一个实例的private ReaderViewModel _readerViewModel = new ReaderViewModel(); 属性不会影响绑定到前一个实例的视图。

您应确保只涉及一个TextSource实例。