所以我有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。为什么?什么是正确的方法?
答案 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);
}