C# 如何将数据保存在文本框(WP)中?

C# 如何将数据保存在文本框(WP)中?,c#,wpf,xaml,wpf-controls,C#,Wpf,Xaml,Wpf Controls,我正在开发一个应用程序,可以从用户那个里获取号码并向那个号码发送消息 该数字保存在全局变量中,用户可以更改该数字。我希望用户每次打开应用程序时,手机号码都会显示在文本框中,这样他/她就可以查看该号码并在需要时进行更新 我所尝试的: phonenumber.Text = (App.Current as App).phoneglobal; 我在InitializeComponent()之后添加了它,但这不起作用。因为您使用的是WPF,我建议使用。在您的情况下,您应该: public partial

我正在开发一个应用程序,可以从用户那个里获取号码并向那个号码发送消息

该数字保存在全局变量中,用户可以更改该数字。我希望用户每次打开应用程序时,手机号码都会显示在文本框中,这样他/她就可以查看该号码并在需要时进行更新

我所尝试的:

phonenumber.Text = (App.Current as App).phoneglobal;

我在
InitializeComponent()之后添加了它,但这不起作用。

因为您使用的是WPF,我建议使用。在您的情况下,您应该:

public partial class MainWindow : Window
{
    private MainWindowViewModel viewModel = new MainWindowViewModel();

    public MainWindow()
    {
        InitializeComponent();
        DataContext = viewModel;
    }
}

public class MainWindowViewModel : System.ComponentModel.INotifyPropertyChanged
{
    private App currentApp = (Application.Current as App);

    public MainWindowViewModel()
    {
    }

    public string PhoneNumber
    {
        get
        {
            return currentApp.phoneglobal;
        }
        set
        {
            currentApp.phoneglobal = value;
            OnPropertyChanged(new PropertyChangedEventArgs("PhoneNumber"));
        }
    }

    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;

    #endregion

    private void OnPropertyChanged(PropertyChangedEventArgs e)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, e);
        }
    }
}
然后,在xaml中,只需绑定到ViewModel的
PhoneNumber
属性

<Window x:Class="YourNamespace.MainWindow">
    <TextBox x:Name="phonenumber" Text="{Binding PhoneNumber}" />
</Window>

然后,您不需要从代码后面设置
phonenumber.Text
。如果需要以编程方式设置电话号码,请设置
viewModel.PhoneNumber
,文本框将自动更新

请注意,如果直接设置
currentApp.phoneglobal
(不使用
viewModel.PhoneNumber
),则文本框不会自动更新


如果这没有帮助,请将您的xaml代码以及代码中的任何引用发布到
phonenumber
文本框中。

关闭应用程序时,您是将电话号码保存在任何位置,还是仅将其保存到全局变量中?为什么使用wpf和wpf控件?正确地标记你的问题。什么版本的wp?WP7/WP8/WP8.1?