我对 WPF 还是很陌生,我花了一周的时间试图理解 MVVM,但运气并不好,但我并没有特别想遵循这些规则,我只需要将信息存储到一个类中,以便我的所有用户控制可以访问它,也可以更改它。这是我到目前为止所拥有的:
namespace WpfApplication2.Funtions
{
    public class Binder : INotifyPropertyChanged
    {
        #region INotifyPropertyChanged Members
        public event PropertyChangedEventHandler PropertyChanged;
        private void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
        #endregion
        private string _Test_String;
        public string Test_String 
        { 
            get { return _Test_String; }
            set { _Test_String = value; OnPropertyChanged("Test_String"); }
        }
    }
}
用户控制:
public partial class UserControl1 : UserControl
{
    //Funtions.Binder _B = new Funtions.Binder();
    public UserControl1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, RoutedEventArgs e)
    {
        MainWindow MW = new MainWindow();
        textBox1.Text = MW._B.Test_String;
    }
}
主窗口:
public partial class MainWindow : Window
{
    public Funtions.Binder _B = new Funtions.Binder();
    public MainWindow()
    {
        InitializeComponent();
        _B.Test_String = "HELLO";
    }
    private void button1_Click(object sender, RoutedEventArgs e)
    {
       _B.Test_String =  "Hello from main";
    }
}
我看到这里发生了什么,用户控件正在创建 MainWindow 的一个新实例,因此它的值不同,但是我如何实际访问 MainWindow 从 usercontrol1 创建的同一个 Binder 实例,以便它可以读取和更改它?或者如果我不能以这种方式实现我想要的,我应该怎么做?我知道必须有一个非常简单的解决方案。我不想使用项目设置。
请不要介意超级菜鸟的问题,但我已经被困了好几天了,我只需要一个简单的解释和解决方案,我就会继续前进。谢谢你。