使用字符串访问图像类型

时间:2015-12-10 03:54:36

标签: c# wpf image controls

所以我有i张图片,我将图像名称设置为像

这样的代码
image.Name = "Image" + i;

我想访问所有i图片,以便我可以更改其属性并将其绑定。我使用这段代码:

for (int i = 1; i < itotal; i++)
{
    Binding binding = new Binding
    {
        Source = AtextBox,
        Path = new PropertyPath("Text"),
    };
    Image imagex = (Image)this.FindName("Image" + i);
    xImage = imagex;
    xImage.SetBinding(ContentControl.OpacityProperty, binding);
}

但我无法获得imagex,其值保持为null。为什么?什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

您正在尝试将元素添加到已解析的元素树中。要做到这一点,你需要 你需要致电RegisterName

// ...
image.Name = "Image" + i;
this.RegisterName(image.Name, image);

// ...

for (int i = 1; i < itotal; i++)
{
    Binding binding = new Binding
    {
        Source = AtextBox,
        Path = new PropertyPath("Text"),
    };
    Image imagex = (Image)this.FindName("Image" + i);
    xImage = imagex;
    xImage.SetBinding(ContentControl.OpacityProperty, binding);
}