如何创建列表视图到网格编程 [英] how to create listview to a grid programmatically
问题描述
我有一个网格列和行定义。通过了解项目的X数量,我可以把它添加到我的XAML没有问题。 Unfortuantely我想以编程方式创建列表视图,因为我想根据项目执行我的SP时,我得到的X数量来填充他们。这是我的XAML。标签有从SP结果给定的内容分配过多。可有人告诉我如何编程创建此?
<电网NAME =grdItemsWIDTH =939Grid.Row =1的HorizontalAlignment =左的DataContext ={结合}保证金=5&GT ;
< Grid.RowDefinitions>
< RowDefinition HEIGHT =25>< / RowDefinition>
< RowDefinition高度=自动>< / RowDefinition>
< RowDefinition HEIGHT =5>< / RowDefinition>
< RowDefinition HEIGHT =25>< / RowDefinition>
< RowDefinition高度=自动>< / RowDefinition>
< RowDefinition HEIGHT =5>< / RowDefinition>
< /Grid.RowDefinitions>
< Grid.ColumnDefinitions>
< ColumnDefinition WIDTH =231>< / ColumnDefinition>
< ColumnDefinition WIDTH =5>< / ColumnDefinition>
< ColumnDefinition WIDTH =231>< / ColumnDefinition>
< ColumnDefinition WIDTH =5>< / ColumnDefinition>
< ColumnDefinition WIDTH =231>< / ColumnDefinition>
< ColumnDefinition WIDTH =5>< / ColumnDefinition>
< ColumnDefinition WIDTH =231>< / ColumnDefinition>
< /Grid.ColumnDefinitions> <标签名称=lblItemGrid.Row =0Grid.Column =0CONTENT =项标签/>
< ListView控件名称=lstFirstItem的HorizontalAlignment =左VerticalAlignment =顶部
身高=自动保证金=0,0,0,0的ItemsSource =粗细=正规军
Grid.Column =0Grid.Row =1>
< ListView.View>
<&GridView的GT;
< GridView.ColumnHeaderContainerStyle>
<样式和GT;
< setter属性=FrameworkElement.VisibilityVALUE =折叠/>
< /样式和GT;
< /GridView.ColumnHeaderContainerStyle>
< GridViewColumn WIDTH =58DisplayMemberBinding ={结合ITEMNAME}>< / GridViewColumn>
< GridViewColumn WIDTH =174.25DisplayMemberBinding ={结合ItemDescription}>< / GridViewColumn>
< / GridView的>
< /ListView.View>
< /&的ListView GT;
< /网格和GT;
我们可以动态地从code后面添加行或列。
中序添加行:
GridLength的rowHeight =新GridLength(100); //你自己的价值,我们可以给*,汽车以及
RowDefinition rowDef =新RowDefinition {身高=的rowHeight};
mainGrid.RowDefinitions.Add(rowDef);
中序添加colomns:
GridLength columnWidth时=新GridLength(100);
ColumnDefinition colDef =新ColumnDefinition {宽度= columnWidth时};
mainGrid.ColumnDefinitions.Add(colDef);
中序在特定行添加文字块,列
TextBlock的文本块=新的TextBlock();
textBlock.Text =一些价值;
Grid.SetRow(文字块,的rowNum);
Grid.SetColumn(文字块,colNum);
mainGrid.Children.Add(文字块);
希望这回答你的问题。
I have a grid with columns and rows define. By knowing x amount of items, I can add it to my xaml no problem. Unfortuantely I want to create the listview programatically because I want to populate them based on x amount of item I get when executing my SP. Here is my xaml. The label is there to assign a given content from the SP result too. Can someone show me how create this programatically?
<Grid Name="grdItems" Width="939" Grid.Row="1" HorizontalAlignment="Left" DataContext="{Binding}" Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="25"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="5"></RowDefinition>
<RowDefinition Height="25"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="5"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="231"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="231"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="231"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="231"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Name="lblItem" Grid.Row="0" Grid.Column="0" Content="item label" />
<ListView Name="lstFirstItem" HorizontalAlignment="Left" VerticalAlignment="Top"
Height="auto" Margin="0,0,0,0" ItemsSource="" FontWeight="Regular"
Grid.Column="0" Grid.Row="1">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style>
<Setter Property="FrameworkElement.Visibility" Value="Collapsed"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn Width="58" DisplayMemberBinding="{Binding ItemName}"></GridViewColumn>
<GridViewColumn Width="174.25" DisplayMemberBinding="{Binding ItemDescription}"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
we can add rows or columns dynamically from code behind.
Inorder to add rows:
GridLength rowheight = new GridLength(100); //your own value we can give *,Auto as well
RowDefinition rowDef = new RowDefinition {Height = rowheight };
mainGrid.RowDefinitions.Add(rowDef);
Inorder to add colomns:
GridLength columnwidth = new GridLength(100);
ColumnDefinition colDef = new ColumnDefinition { Width = columnwidth};
mainGrid.ColumnDefinitions.Add(colDef );
Inorder to add textblock at particular row,column
TextBlock textBlock = new TextBlock();
textBlock.Text = "Some Value";
Grid.SetRow(textBlock, rowNum);
Grid.SetColumn(textBlock, colNum);
mainGrid.Children.Add(textBlock);
Hope this answers your question
这篇关于如何创建列表视图到网格编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!