Я хотел бы создавать простые объекты во время выполнения (текстовое поле, метка и т. Д.) И добавлять их в Grid в моем приложении WPF. Моя проблема заключается в том, что мне нужно определить их в файле app.config. Я читаю в данных конфигурации, используя метод «ConfigurationManager.GetSection». Ниже показан пример XML, который определяет два текстовых поля. Значения ключа всегда определяются как метки, поэтому следующие определения определяют две метки с именами «ID:» и «Имя:» и два связанных текстовых поля
<HardwareControls>
<add key="ID:" value="System.Windows.Controls.TextBox"/>
<add key="Name:" value="System.Windows.Controls.TextBox"/>
</HardwareControls>
В данный момент я использую следующий код для создания объекта TextBox, но мне нужно изменить его так, чтобы типы элементов управления определялись данными конфигурации, а не были жестко закодированы. Может ли кто-нибудь помочь в том, как мне поступить, основываясь на том, что я знаю тип элемента управления, определенный строкой?
TextBox tb1 = new TextBox();
tb1.Width = 100;
tb1.SetValue(Grid.ColumnProperty, 1);
tb1.SetValue(Grid.RowProperty, i);
Я также вижу ситуацию, когда мне может потребоваться определить дополнительные значения, такие как ширина текстового поля в файле конфигурации. Есть ли лучшее решение для хранения этого в app.config, так как похоже, что метод «GetSection» поддерживает только пару ключ / значение (я могу ошибаться в этом предположении, так как пока не слишком много читал об этом).