以编程方式定位Canvas中的元素:编译器看不到SetTop

本文关键字:元素 编译器 看不到 SetTop 编程 方式 定位 Canvas | 更新日期: 2023-09-27 18:19:30

我以前已经使用过Canvas.SetLeftCanvas.SetTop,但现在我遇到了一个错误。我在窗口网格内的包装面板内有画布:

<Grid>
    <WrapPanel>
    </WrapPabel>
</Grid>

当加载窗口时,它被称为方法Canvas(),在其中我实现了一些画布和标签。当我尝试在其画布(Canvas.SetTop(lab, 10))内定位标签时,我会收到以下错误:Canvas() is a 'method' , which is not valid in the given context.

我是一个编程初学者,我不知道为什么会发生这种情况,以及该怎么做…

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]);
        }
    }

以编程方式定位Canvas中的元素:编译器看不到SetTop

哦,我明白了。我只放了System.Windows.Controls.Canvas.SetTop,而不是Canvas.SetTop

真遗憾。。