我想在运行时创建简单的对象(文本框、标签等),并将它们添加到我的WPF应用程序的网格中。我的问题是我需要在app.config文件中定义这些。我正在使用__configurationmanager.getsection_方法读取配置数据。下面显示的是定义两个文本框的XML示例。键值总是定义为标签,因此下面定义了两个名为__id:_157;和_156;name:_157;的标签和两个相关的文本框。
<HardwareControls>
<add key="ID:" value="System.Windows.Controls.TextBox"/>
<add key="Name:" value="System.Windows.Controls.TextBox"/>
</HardwareControls>
目前,我使用以下代码创建一个文本框对象,但需要修改它,以便控件类型由配置数据定义,而不是硬编码。有人能在我知道字符串定义的控件类型的基础上,帮助我做这个吗?
TextBox tb1 = new TextBox();
tb1.Width = 100;
tb1.SetValue(Grid.ColumnProperty, 1);
tb1.SetValue(Grid.RowProperty, i);
我还可以看到一种情况,在这种情况下,我可能需要在配置文件中定义额外的值,例如文本框宽度。是否有更好的解决方案将其存储在app.config中,因为它看起来像getsection_方法只支持一个键/值对(在这个假设中,我可能是rog,因为我还没有读过太多关于这个的信息)。