0

I want a grid layout for displaying search results. The grids should have headlines Beneficial Owner, Commercial Operator and Registered Owner. The results should then be displayed under the right headline.

I am trying to achieve this layout:

enter image description here

But this is what i get:

enter image description here

My C#/SilverLight code:

// Create a 3 column grid
StackPanel deptStackPanel = new StackPanel();
deptStackPanel.Margin = new Thickness(10);
stackPanelSearchResults.Children.Add(deptStackPanel);
Grid.SetColumn(deptStackPanel, 3);
Grid.SetRow(deptStackPanel, 3);

// Add headlines for theese columns
TextBlock deptListHeadingBeneficialOwner = new TextBlock();
deptListHeadingBeneficialOwner.Text = "Beneficial Owner";

TextBlock deptListHeadingCommercialOperator = new TextBlock();
deptListHeadingCommercialOperator.Text = "Commercial Operator";

TextBlock deptListHeadingRegisteredOwnerName = new TextBlock();
deptListHeadingRegisteredOwnerName.Text = "Registered Owner";

deptStackPanel.Children.Add(deptListHeadingBeneficialOwner);
deptStackPanel.Children.Add(deptListHeadingCommercialOperator);
deptStackPanel.Children.Add(deptListHeadingRegisteredOwnerName);
Grid.SetColumn(deptListHeadingBeneficialOwner, 0);
Grid.SetColumn(deptListHeadingCommercialOperator, 1);
Grid.SetColumn(deptListHeadingRegisteredOwnerName, 2);
4

2 回答 2

0

从您的 xaml 文件或后端在布局网格内添加三个网格。在其中放置一个堆栈面板,然后为您的数据添加文本块。您只是在另一个下方添加文本块。

于 2013-03-01T05:06:07.690 回答
0

我自己找到了解决方案:

// Create the Grid
            Grid myGrid = new Grid();
            myGrid.Width = 400;
            myGrid.Margin = new Thickness(9, 0, 0, 0);
            myGrid.HorizontalAlignment = HorizontalAlignment.Left;
            myGrid.VerticalAlignment = VerticalAlignment.Top;
            myGrid.ShowGridLines = true;

            // Define the Columns
            ColumnDefinition colDef1 = new ColumnDefinition();
            ColumnDefinition colDef2 = new ColumnDefinition();
            ColumnDefinition colDef3 = new ColumnDefinition();
            myGrid.ColumnDefinitions.Add(colDef1);
            myGrid.ColumnDefinitions.Add(colDef2);
            myGrid.ColumnDefinitions.Add(colDef3);

            // Define the Rows
            RowDefinition rowDef1 = new RowDefinition();
            RowDefinition rowDef2 = new RowDefinition();
            RowDefinition rowDef3 = new RowDefinition();
            RowDefinition rowDef4 = new RowDefinition();
            myGrid.RowDefinitions.Add(rowDef1);
            myGrid.RowDefinitions.Add(rowDef2);
            myGrid.RowDefinitions.Add(rowDef3);
            myGrid.RowDefinitions.Add(rowDef4);

            // Add the second text cell to the Grid
            TextBlock txtBeneficialOwner = new TextBlock();
            txtBeneficialOwner.Text = "Beneficial Owner";
            txtBeneficialOwner.FontWeight = FontWeights.Bold;
            Grid.SetRow(txtBeneficialOwner, 0);
            Grid.SetColumn(txtBeneficialOwner, 0);

            // Add the third text cell to the Grid
            TextBlock txtCommercialOperator = new TextBlock();
            txtCommercialOperator.Text = "Commercial Operator";
            txtCommercialOperator.FontWeight = FontWeights.Bold;
            txtCommercialOperator.Margin = new Thickness(9, 0, 0, 4);
            Grid.SetRow(txtCommercialOperator, 0);
            Grid.SetColumn(txtCommercialOperator, 1);

            // Add the fourth text cell to the Grid
            TextBlock txtRegisteredOwnerName = new TextBlock();
            txtRegisteredOwnerName.Text = "Registered Owner";
            txtRegisteredOwnerName.FontWeight = FontWeights.Bold;
            txtRegisteredOwnerName.Margin = new Thickness(9, 0, 0, 4);
            Grid.SetRow(txtRegisteredOwnerName, 0);
            Grid.SetColumn(txtRegisteredOwnerName, 2);

            // Add the TextBlock elements to the Grid Children collection
            myGrid.Children.Add(txtBeneficialOwner);
            myGrid.Children.Add(txtCommercialOperator);
            myGrid.Children.Add(txtRegisteredOwnerName);
            stackPanelSearchResults.Children.Add(myGrid);
于 2013-03-01T12:13:05.923 回答