visual tutorial studio que example .net wpf listbox multiple-columns

.net - tutorial - wpf listview example



Multicolumn ListBox en WPF (3)

Como Ray señala correctamente, ListView hará el trabajo. Sin embargo, si está atascado y / o quiere usar ListBox, también puede usar ItemTemplate with Grid y establecer la propiedad Grid.IsSharedSizeScope en el mismo 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 buen truco que también se puede aplicar a otros casos en los que tiene varias instancias de Grid (es decir, una por ListBoxItem según este caso) y desea compartir una columna.

Atentamente,

Tengo 3 TextBoxes y 1 Button y quiero ingresar cada uno de los datos de TextBoxes en un ListBox en columnas separadas.

Sé cómo ingresar datos en una columna:

listbox1.Items.Add(TextBox1.text);

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

Estoy usando .NET WPF. Quiero usar un ListBox o un ListView .

mi ventana


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


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