在我开始我的问题之前,我一直在阅读关于这个主题的所有可以想象的链接,但我仍然被困住了。
我正在使用 C# 和 Visual Studio 组合一个 WPF。当应用程序关闭并重新启动时,我希望 TextBox 在其中保留文本,并且文本是读/写的,因为文本会经常更改。
我已经设置了一个新的 .settings 文件,并将它放在我项目的 Properties 文件夹中。我使用漂亮的网格创建了这个,我可以在其中创建名称、类型和值等。
到目前为止,几个小时后,我想我离得更近了,但不确定。这是 Designer.cs -
namespace PRX.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class saveData : global::System.Configuration.ApplicationSettingsBase {
private static saveData defaultInstance = ((saveData)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new saveData())));
public static saveData Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("mainSource")]
public string Setting {
get {
return ((string)(this["Setting"]));
}
set {
this["Setting"] = value;
}
}
}
}
.settings 文件称为 saveData.settings,我将表设置为名称:设置,类型:字符串,值:mainSource。范围设置为用户。它位于 Properties 文件夹中,就像默认的 Settings.settings 文件一样。
有问题的 TextBox 有这样的连接:
<ScrollViewer VerticalScrollBarVisibility="Auto">
<TextBox DockPanel.Dock="Top" Margin="10" Background="Black" Name="tb1" TextWrapping="Wrap" AcceptsReturn="True" Text="{Binding Source={x:Static p:saveData.Default}, Path=Default.Setting, Mode=TwoWay}"></TextBox>
</ScrollViewer>
为了更好地衡量,这是它在 app.config 中的样子:
<PRX.saveData>
<setting name="Setting" serializeAs="String">
<value>mainSource</value>
</setting>
</PRX.saveData>
</userSettings>
我知道它已连接到 .Settings 文件,因为当我调试时,文本框中存在值“mainSource”
我已经阅读了十几个关于这个主题的链接,但最值得注意的是这两个:
http://blogs.msdn.com/b/patrickdanino/archive/2008/07/23/user-settings-in-wpf.aspx http://msdn.microsoft.com/en-us/library/k4s6c3a0.aspx
我对此特别困惑,我正在阅读的文档似乎非常简单,但我似乎无法掌握它。非常感谢任何帮助。谢谢