我有一个从
调用的方法窗口构造函数(Luach是我的画布,Mishbezet是UserControl和 mish是画笔字典):
Mishbezet m;
Luach.Children.Clear();
double pre_top = 0, top = 0, left = 0;
for (int i = 0; i < NUM; i++)
{
for (int j = 0; j < NUM; j++)
{
m = new Mishbezet();
m.Width = 80;
m.Height = 80;
m.C = Brushes.Transparent;
Canvas.SetTop(m, top);
Canvas.SetLeft(m, left);
Luach.Children.Add(m);
m.index = new int[4];
m.index[0] = i;
m.index[1] = j;
m.index[2] = i * NUM + j;
top += 81;
}
if (pre_top == 0)
top = 40;
else
top = 0;
pre_top = top;
left += 62;
}
foreach (var brush in mish)
{
((Mishbezet)(Luach.Children[brush.Key])).Background = brush.Value;
}
问题在于
行<(>((Mishbezet)(Luach.Children [brush.Key]))。Background = brush.Value;
当我使用固定号码时((Mishbezet)(Luach.Children[2])).Background = brush.Value;
一切都很好,它得到了它的背景颜色,但是当使用原始语句使用int变量作为索引时,没有任何事情发生,UserControl也没有获得背景颜色。
我将不胜感激任何帮助和想法。