C# Silverlight:在栅格周围添加边框

C# Silverlight:在栅格周围添加边框,c#,silverlight,grid,border,C#,Silverlight,Grid,Border,我有一个网格,我需要把它放进一个边框中,通过XAML做这件事很容易 但我如何通过C#做到这一点? 到目前为止,我找到的所有东西都希望在每个单元格周围添加边框 我需要它出来看起来像XAML一样,请帮助 我无法在此处正确发布XAML: 右转 到 第四面 向左旋转 到 第二面 这是我使用的C代码,也许你能看出我做错了什么 public static void panelMain(string strPassGridName, System.Windows.Media.Color mcPassCo

我有一个网格,我需要把它放进一个边框中,通过XAML做这件事很容易 但我如何通过C#做到这一点? 到目前为止,我找到的所有东西都希望在每个单元格周围添加边框

我需要它出来看起来像XAML一样,请帮助

我无法在此处正确发布XAML:


右转
到
第四面
向左旋转
到
第二面

这是我使用的C代码,也许你能看出我做错了什么

public static void panelMain(string strPassGridName, System.Windows.Media.Color mcPassColor, 
int intRowProperty, int intColumnProperty, Visibility vVisibility, 
string[] strButtonTitles, Grid passLayoutRoot, Canvas passCanvas)
    {
        Grid panelGrid = new Grid();

             panelGrid.Name = strPassGridName;
             panelGrid.Background = new SolidColorBrush(mcPassColor);

             panelGrid.SetValue(Grid.RowProperty, intRowProperty);
             panelGrid.SetValue(Grid.ColumnProperty, intColumnProperty);
             panelGrid.Visibility = vVisibility;

        RowDefinition row1 = new RowDefinition();
                      row1.Height = new GridLength(100, GridUnitType.Auto);
             panelGrid.RowDefinitions.Add(row1);

        ColumnDefinition column1 = new ColumnDefinition();
                         column1.Width = new GridLength(100);
             panelGrid.ColumnDefinitions.Add(column1);


        passLayoutRoot.Children.Add(panelGrid);
    }

您可以按如下方式进行操作

        Border gridBorder = new Border();
        gridBorder.BorderBrush = new SolidColorBrush(Colors.Black);
        gridBorder.BorderThickness = new Thickness(4);
        gridBorder.Child = new Grid(); //Your grid here
        LayoutRoot.Children.Add(border); // ParentGrid(layout) holding the border

您可以按如下方式进行操作

        Border gridBorder = new Border();
        gridBorder.BorderBrush = new SolidColorBrush(Colors.Black);
        gridBorder.BorderThickness = new Thickness(4);
        gridBorder.Child = new Grid(); //Your grid here
        LayoutRoot.Children.Add(border); // ParentGrid(layout) holding the border

我明白了,我需要先创建边框,然后将网格添加到边框中。 一个主要区别是我不能直接引用border对象,我需要“找到它”

这很有效。。。。
多亏了所有的努力,我终于找到了答案,我需要先创建边框,然后将网格添加到边框中。 一个主要区别是我不能直接引用border对象,我需要“找到它”

这很有效。。。。
感谢所有试图帮助我们的人义务:你能告诉我们你在C#中试过什么吗?你看到财产了吗?是的,这就是is告诉我它已经是个孩子的地方义务:你能告诉我们你在C#中试过什么吗?你看到财产了吗?是的,这就是is告诉我它已经是个孩子的地方。对不起,没有用,我明白了“元素已经是另一个元素的子元素。”如果我稍微更改最后一行,我会在网格中得到一个正方形,使其具有边框gridBorder=新边框();gridBorder.BorderBrush=新SolidColorBrush(Colors.Black);gridBorder.BorderThickness=新厚度(4);//gridBorder.Child=panelGrid;//此处的网格panelGrid.Children.Add(gridBorder);最后一行panelGrid.Children.Add(gridBorder);无效。您需要将gridBorder作为根网格的子网格添加,如下所示。LayoutRoot.Children.Add(border);我肯定遗漏了什么,如何让边框环绕网格?这行(gridBorder.Child=new grid();)表示要添加新网格,但如何引用正在创建的网格这是我正在使用的c#,也许你可以看到我做错了什么?很抱歉,这不起作用,我明白了”元素已经是另一个元素的子元素。“如果我稍微更改最后一行,我会在网格中得到一个正方形,使其具有边框gridBorder=新边框();gridBorder.BorderBrush=新SolidColorBrush(Colors.Black);gridBorder.BorderThickness=新厚度(4);//gridBorder.Child=panelGrid;//此处的网格panelGrid.Children.Add(gridBorder);最后一行panelGrid.Children.Add(gridBorder);无效。您需要将gridBorder作为根网格的子网格添加,如下所示。LayoutRoot.Children.Add(border);我肯定遗漏了什么,如何让边框环绕网格?这一行(gridBorder.Child=new grid();)表示要添加新网格,但如何引用正在创建的网格我使用的是c#,也许你可以看到我做错了什么?