【发布时间】:2016-07-25 10:46:57
【问题描述】:
我只是想知道是否可以在文本框中保存/存储文本并在打开应用程序时显示所有文本? 情况是我用两个组合框制作了一个日历;一个是几年,第二个是几个月。当我从两个组合框中的一个中选择一项时,日期会随着我可以输入的相应文本框而变化。
我考虑使用 Telerik 的独立存储来保存它,但它只保存当前选定的日期和年份,但不保存我从这些文本框中输入的文本。
【问题讨论】:
我只是想知道是否可以在文本框中保存/存储文本并在打开应用程序时显示所有文本? 情况是我用两个组合框制作了一个日历;一个是几年,第二个是几个月。当我从两个组合框中的一个中选择一项时,日期会随着我可以输入的相应文本框而变化。
我考虑使用 Telerik 的独立存储来保存它,但它只保存当前选定的日期和年份,但不保存我从这些文本框中输入的文本。
【问题讨论】:
使用 SaveFileDialog 您可以轻松地将文本框文本保存到文本文件中。 请查看以下 MSDN 示例。
在 OnPropertyChanged 期间:
// Create a file to write to.
string createText = textBox.Text + Environment.NewLine;
File.WriteAllText("D:\\TextFile.txt", createText);
// Open the file to read from.
string readText = File.ReadAllText("D:\\TextFile.txt");
【讨论】:
在 .NET 中执行此操作的标准方法是 app.config 机制:
在 app.config 中创建数据
在加载时初始化您的文本框(例如在表单构造函数中):
public Form1()
{
InitializeComponent();
textBoxBasePath.Text = Properties.Settings.Default.BasePath;
...
}
在关闭时保存数据:
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { Properties.Settings.Default.BasePath = textBoxBasePath.Text; Properties.Settings.Default.Save(); }
有关更多详细信息,请阅读文档。
【讨论】:
<TextBox telerik:PersistenceManager.StorageId="myText" IsEnabled="{Binding IsEnabled}" Text="{Binding Notes, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="True" TextWrapping="Wrap" BorderThickness="0" ScrollViewer.VerticalScrollBarVisibility="Auto" Background="{x:Null}" Foreground="White" /> 它是ResourceDictionary 内编码,注释是属性的源路径...