0

列と行が定義されたグリッドがあります。x個のアイテムを知ることで、問題なくxamlに追加できます。残念ながら、SPを実行するときに取得するアイテムのx量に基づいてリストビューを作成したいので、プログラムでリストビューを作成したいと思います。これが私のxamlです。SP の結果から特定のコンテンツを割り当てるためのラベルもあります。誰かがこれをプログラムで作成する方法を教えてもらえますか?

<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>
4

2 に答える 2

2

コード ビハインドから行または列を動的に追加できます。

行を追加するには:

    GridLength rowheight = new GridLength(100);  //your own value we can give *,Auto as well  
    RowDefinition rowDef = new RowDefinition {Height = rowheight };    
    mainGrid.RowDefinitions.Add(rowDef);

列を追加するには:

    GridLength columnwidth = new GridLength(100);        
    ColumnDefinition colDef = new ColumnDefinition { Width = columnwidth};        
    mainGrid.ColumnDefinitions.Add(colDef );    

特定の行、列にテキストブロックを追加するには

    TextBlock textBlock = new TextBlock();        
    textBlock.Text = "Some Value";       
    Grid.SetRow(textBlock, rowNum);        
    Grid.SetColumn(textBlock, colNum);
    mainGrid.Children.Add(textBlock);  

これがあなたの質問に答えることを願っています

于 2012-11-12T14:16:02.937 に答える