在代码

时间:2016-10-19 10:28:18

标签: c# wpf xaml attributes runtime

我是WPF和XAML的新手。 我有,例如:

<TextBlock Name="txtTitle" Text="I want to change this" ></TextBlock>
在代码中

更改文本属性很简单:

txtTitle.Text="this change the text";

但是我从配置文件中获取了一些属性,所以我想创建一个迭代所有属性的过程,然后改变所有XAML属性

我正在寻找能够做到这一点的事情:

txtTitle.Attribute("Text").value = "this change the text";

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

这些属性只是属性,如果您只有动态可用的信息,则可以通过反射更改这些属性。解析XAML并创建CLR对象后,这与XML无关。

应该是

txtTitle.GetType()
        .GetProperty(propertyName)
        .SetValue(txtTitle, propertyValue);