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?