使用字符串访问图像类型

本文关键字:图像 类型 访问 字符串 | 更新日期: 2023-09-27 18:26:19

所以我有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,它的值保持为空。为什么?做这件事的正确方法是什么?

使用字符串访问图像类型

您正试图将元素添加到已解析的元素树中。要做到这一点,你需要您需要拨打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);
}