Tengo 3 TextBoxes y 1 Button y quieren entrar en cada uno de los la TextBoxes de datos en un ListBox en columnas separadas.

Sé cómo introducir datos en una sola columna:

listbox1.Items.Add(TextBox1.text);

pero, ¿cómo puedo introducir los datos en varias columnas?

Que estoy utilizando .NET WPF. Quiero usar un ListBox o un ListView.

mi ventana

OriginalEl autor user1156309 | 2012-01-18

3 Comentarios

  1. 28

    Desea un ListView lugar:

    Algo como esto:

    <ListView ItemsSource="{Binding SourceCollection}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Test1" DisplayMemberBinding="{Binding Test1}" />
                <GridViewColumn Header="Test2" DisplayMemberBinding="{Binding Test2}" />
                <GridViewColumn Header="Test3" DisplayMemberBinding="{Binding Test3}" />
                <GridViewColumn Header="Button">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Button>Button Text</Button>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
    ! Error – he editado tu Q en lugar de publicar mi propio. Volviendo …
    gracias por la rápida respuesta amigo lo puedo usar en el código xaml
    ¿cómo puedo insertar elementos de uso de código de c#
    Sólo SourceCollection.Add(MyNewItem);

    OriginalEl autor Ray

  2. 25

    Como Ray señala correctamente, ListView va a hacer el trabajo. Sin embargo, si estás atascado con y/o si desea utilizar ListBox, también puede utilizar un ItemTemplate con Cuadrícula y ajustar el Cuadrícula.IsSharedSizeScope propiedad en el ListBox. Por ejemplo:

    <ListBox ItemsSource="{Binding DataSource}" Grid.IsSharedSizeScope="True">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" SharedSizeGroup="Column1"/>
                        <ColumnDefinition Width="Auto" SharedSizeGroup="Column2"/>
                        <ColumnDefinition Width="Auto" SharedSizeGroup="Column3"/>
                    </Grid.ColumnDefinitions>
                    <!-- Assumes MVVM and you wish to bind to properties and commands -->
                    <TextBlock Grid.Column="0" Text="{Binding ColumnOneText}"/>
                    <TextBlock Grid.Column="1" Text="{Binding ColumnTwoText}"/>
                    <TextBlock Grid.Column="2" Text="{Binding ColumnThreeText}"/>
                    <Button Content="ClickMe" Command="{Binding ButtonExecutionCommand}"/>
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

    Este es un truco que también puede ser aplicado a otros casos donde se tienen varias instancias de la red (es decir: uno por ListBoxItem como por este caso) y quiero compartir una columna.

    Saludos,

    El <Grid> el código debe ser envuelto en una <DataTemplate>, porque <Grid> ahora es compatible niño de la propiedad ItemTemplate.
    Tienes razón 🙂
    Impresionante solución . Thannk usted

    OriginalEl autor Dr. ABT

  3. 2

    uso groupbox y docpanel

    <GroupBox Width="250"
                              Margin="10,0,0,0"                          
                              FontSize="20"
                              Header="کسورات"
                              Style="{StaticResource Gb}">
                        <ListBox Margin="0" AlternationCount="2">
                            <ListBoxItem>
                                <Border Margin="0"
                                        BorderBrush="#ddd"
                                        BorderThickness="0,1,0,1">
                                    <DockPanel Background="#f9f9f9" LastChildFill="True">
    
    
                                        <controls2:TimeEditBox DockPanel.Dock="Right"
                                                               FontSize="13"
                                                               Mask="00:00"
                                                               Text="00:00"
                                                               TextAlignment="Center"
                                                               controls2:TextBoxMaskBehavior.Mask="Integer" />
                                        <TextBox Width="50"
                                                 Margin="0,0,5,0"
                                                 DockPanel.Dock="Right"
                                                 FontSize="13"
                                                 Text="122"
                                                 TextAlignment="Center"
                                                 controls2:TextBoxMaskBehavior.Mask="Integer" />
                                        <TextBlock VerticalAlignment="Center"
                                                   FontSize="13"
                                                   Text="غیبت"
                                                   TextAlignment="Center" />
                                    </DockPanel>
                                </Border>
                            </ListBoxItem>
                          **</ListBox>**
                    </GroupBox>

    OriginalEl autor Meysam Chegini

Dejar respuesta

Please enter your comment!
Please enter your name here