C# 以编程方式在画布中定位元素:编译器看不到SetTop
我以前已经使用过C# 以编程方式在画布中定位元素:编译器看不到SetTop,c#,wpf,canvas,position,C#,Wpf,Canvas,Position,我以前已经使用过Canvas.SetLeft或Canvas.SetTop,但现在我遇到了一个错误。 我在一个包裹内有画布,包裹在窗口的网格内: <Grid> <WrapPanel> </WrapPabel> </Grid> 哦,我明白了。我只是将System.Windows.Controls.Canvas.SetTop改为仅Canvas.SetTop 太遗憾了。这可能是因为您有一个名为Canvas的方法。因此,只需点击Canva
Canvas.SetLeft
或Canvas.SetTop
,但现在我遇到了一个错误。
我在一个包裹内有画布,包裹在窗口的网格内:
<Grid>
<WrapPanel>
</WrapPabel>
</Grid>
哦,我明白了。我只是将
System.Windows.Controls.Canvas.SetTop
改为仅Canvas.SetTop
太遗憾了。这可能是因为您有一个名为
Canvas
的方法。因此,只需点击Canvas.SetTop
就可以尝试访问Canvas()
方法的.SetTop
,这是没有意义的。我敢打赌,如果您将public void Canvas()
重命名为其他名称,Canvas.SetTop
会很好。自从找到解决方案以来,已经过了很长时间。请将您自己的答案标记为“已接受”,以便我们知道您的问题/问题现在已解决!
public void Canvas()
{
Canvas[] cans = new Canvas[5];
Label[] lb = new Label[5];
for (int i = 0; i < 5; i++)
{
lb[i] = new Label();
cans[i] = new Canvas();
cans[i].Height = 132;
cans[i].Width = 283;
cans[i].Background = new SolidColorBrush(Colors.Gray);
cans[i].Margin = new System.Windows.Thickness(5);
lb[i].Content = "BOSTA";
Canvas.SetTop(lb[i], 20); //problematic line
cans[i].Children.Add(lb[i]);
wp.Children.Add(cans[i]);
}
}