Я пытаюсь установить свойства для элементов управления WPF (высота, ширина, вес шрифта, поля и многие другие) из данных, которые читаются через файл XML. Я не буду знать, какие свойства будут установлены заранее. Мне было интересно, если кто-нибудь знает способ сделать это с помощью отражения?
На данный момент мне удалось назначить все примитивные типы и типы перечислений с помощью отражения, но у меня возникли небольшие проблемы со свойствами, такими как FontWeight
, Margin
, Background
и многими другими, которые требуют других Объекты в настройке свойства, например: Чтобы установить FontWeight
свойство кнопки, вы должны сделать это следующим образом.
button.FontWeight = Fontweights.Bold;
или маржа
button.Margin = new Thickness(10, 10, 10, 10);
Поскольку в элементах управления в WPF можно установить более 150 свойств, я просто хотел избежать такого рода кода.
public void setProperties(String propertyName, string PropertyValue
{
if(propertyName = "Margin")
{
Set the margin.....
}
else if (propertyName = "FontWeight")
{
set the FontWeight....
}
}
и т. Д. Для каждого возможного свойства, которое можно установить в элементах управления WPF.