0

I'm trying to make it so that a user can choose an item from a combo box, press a button and the selected item will be added to a listbox. The problem is that once I make any choice and press the button - the listbox seems to glitch out and the horizontal scrolling slider pops up and takes up the entire space (don't even know if the item gets added).

XAML code:

<Label Name="UserEntryLabel" Content="Your chosen entries:" Grid.Row="1" Grid.ColumnSpan="2"  Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Bottom" FontSize="15" FontWeight="Bold" Foreground="DarkBlue" Margin="0,0,10,8" Padding="0,0,0,0"/>
<ListBox Name="UserEntryBox" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="120" Height="20" ScrollViewer.VerticalScrollBarVisibility="Visible" Margin="0,0,0,8"/>
<Label Name="NewEntryLabel" Content="Add new entry:" Grid.Row="2"  Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Top" FontSize="15" FontWeight="Bold" Foreground="DarkBlue" Margin="0,8,6,0" Padding="0,0,0,0"/>
<ComboBox Name="NewEntryBox" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Top" Width="120" Height="20" Margin="0,8,0,0">
    <ComboBoxItem IsSelected="True">Entry1</ComboBoxItem>
    <ComboBoxItem>Entry2</ComboBoxItem>
    <ComboBoxItem>Entry3</ComboBoxItem>
    <ComboBoxItem>Entry4</ComboBoxItem>
</ComboBox>
<Button Name="NewEntryButton" Content="Add" Grid.Row="2" Grid.Column="2" HorizontalAlignment="left" VerticalAlignment="Top" Width="90" Height="20" Margin="0,8,0,0" Click="NewChestButtonClick"/>

CS code:

private void NewCEntryButtonClick(object sender, RoutedEventArgs e)
{
    AddNewEntry();
}

private void AddNewEntry()
{
    ListBoxItem TempItem = new ListBoxItem();
    string EntryType = NewEntryBox.SelectedItem.ToString();
    TempItem.Content = EntryType;
    UserEntryBox.Items.Add(TempItem);
}

1 Answer 1

1

Your problem is that you weren't adding the value in the combobox but the whole item reference too :

System.Windows.Controls.ComboBoxItem: Entry1

If you change how you add the value of the combobox you can see it appear in the listbox :

private void AddNewEntry()
{
    UserEntryBox.Items.Add(NewEntryBox.Text);
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.