combobox中的stackpanel to ListBoxItem
我正在为学校提供WPF应用程序,我需要将ComboboxItem的内容发送到ListBox。我仅在ComboboxItem中使用一个常规的文本块来完成此操作,但是我需要在列表框中添加一个按钮,以便在列表框中删除该项目,因此我决定在每个CommoboxItem中制作一个stackpanel,但我不知道如何在ListBox中显示StackPanel的内容,我只会在ListBox中看到:System.windows.controls.stackpanel。有人可以帮我吗?
XAML:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DeFluitendeFietser"
mc:Ignorable="d"
Title="Fietsverhuur De Fluitende Fietser - Facturering" Height="450" Width="800"
FontFamily="Bahnschrift">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock FontSize="26px"
Grid.Column="0"
Grid.Row="0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="10, 0, 0, 0">
Fietsen:
</TextBlock>
<TextBlock FontSize="26px"
Grid.Column="0"
Grid.Row="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="10, 0, 0, 0">
Verzekeringen:
</TextBlock>
<TextBlock FontSize="26px"
Grid.Column="0"
Grid.Row="2"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="10, 0, 0, 0">
Services:
</TextBlock>
<ComboBox Height="40px"
Grid.Column="1"
Grid.Row="0"
VerticalAlignment="Center"
x:Name="cmbFietsen"
Margin="0, 0, 10, 0"
SelectedValuePath="Content"
MouseEnter="cmbFietsen_MouseEnter">
<ComboBoxItem x:Name="cmbFiets1">Aanhangfiets €20,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets2">Bakfiets €35,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets3">Driewielfiets €30,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets4">Elektrische fiets €30,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets5">Kinderfiets €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets6">Ligfiets €45,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets7">Oma fiets €12,50 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets8">Racefiets €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets9">Speed pedelec €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets10">Stadsfiets €12,50 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets11">Vouwfiets €10,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets12">Zitfiets €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets13">
<StackPanel>
<TextBlock>Aanhangfiets</TextBlock>
<TextBlock>€20,00</TextBlock>
</StackPanel>
</ComboBoxItem>
</ComboBox>
<ComboBox Height="40px"
Grid.Column="1"
Grid.Row="1"
VerticalAlignment="Center"
x:Name="cmbVerzekeringen"
Margin="0, 0, 10, 0"
SelectedValuePath="Content"
MouseEnter="cmbVerzekeringen_MouseEnter">
<ComboBoxItem>Beschadigingen €5,00 / dag</ComboBoxItem>
<ComboBoxItem>Diefstal €10,00 / dag, eigen risico</ComboBoxItem>
<ComboBoxItem>Rechtsbijstand €5,00 / dag</ComboBoxItem>
<ComboBoxItem>Ongevallen €2,50 / dag</ComboBoxItem>
</ComboBox>
<ComboBox Height="40px"
Grid.Column="1"
Grid.Row="2"
VerticalAlignment="Center"
x:Name="cmbServices"
Margin="0, 0, 10, 0"
SelectedValuePath="Content"
MouseEnter="cmbServices_MouseEnter">
<ComboBoxItem>Ophaalservice €15,00 / dag</ComboBoxItem>
<ComboBoxItem>Regenpak €10,00 / dag</ComboBoxItem>
<ComboBoxItem>Lunchpakket basis €12,50 / dag</ComboBoxItem>
<ComboBoxItem>Lunchpakket uitgebreid €20,00 / dag</ComboBoxItem>
</ComboBox>
<Grid Grid.Column="1"
Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button x:Name="btnBestelArtikel"
Click="btnBestelArtikel_Click"
MouseEnter="btnBestelArtikel_MouseEnter"
Grid.Column="1"
Grid.Row="0"
VerticalAlignment="Center"
HorizontalAlignment="Right"
Margin="0, 0, 10, 0"
Height="30px"
Background="Green">
Bestel artikel
</Button>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Grid.Row="0"
TextWrapping="Wrap"
HorizontalAlignment="Center"
VerticalAlignment="Center">
Aantal dagen:
</TextBlock>
<ComboBox x:Name="cmbAantalDagen"
Grid.Column="1"
Grid.Row="0"
VerticalAlignment="Center"
HorizontalAlignment="Right"
Margin="0, 0, 10, 0"
MouseEnter="cmbAantalDagen_MouseEnter">
<ComboBoxItem IsSelected="True">1</ComboBoxItem>
<ComboBoxItem>2</ComboBoxItem>
<ComboBoxItem>3</ComboBoxItem>
<ComboBoxItem>4</ComboBoxItem>
<ComboBoxItem>5</ComboBoxItem>
<ComboBoxItem>6</ComboBoxItem>
<ComboBoxItem>7</ComboBoxItem>
<ComboBoxItem>8</ComboBoxItem>
<ComboBoxItem>9</ComboBoxItem>
<ComboBoxItem>10</ComboBoxItem>
<ComboBoxItem>11</ComboBoxItem>
<ComboBoxItem>12</ComboBoxItem>
<ComboBoxItem>13</ComboBoxItem>
<ComboBoxItem>14</ComboBoxItem>
<ComboBoxItem>15</ComboBoxItem>
</ComboBox>
</Grid>
</Grid>
</Grid>
<Grid Grid.Column="1"
Grid.Row="0"
Margin="10, 10, 10, 10">
<ListBox x:Name="lbArtikelen"
Width="200px"
HorizontalAlignment="Left"
MouseEnter="lbArtikelen_MouseEnter">
</ListBox>
<TextBlock HorizontalAlignment="Right"
Margin="0, 0, 40, 0">Te betalen: €</TextBlock>
<TextBlock HorizontalAlignment="Right"
x:Name="tbBetalen">0,00 </TextBlock>
</Grid>
<ProgressBar Grid.Row="1"
VerticalAlignment="Bottom"
HorizontalAlignment="Center"
Height="30px"
Width="200px"
Margin="0, 0, 0, 20"
Minimum="0"
Maximum="60"
x:Name="pbInactief"></ProgressBar>
<Image Source="Assets/logo.png"
Grid.Row="1"
Grid.Column="1"
Height="100px"
Width="150px"
VerticalAlignment="Bottom"
HorizontalAlignment="Right"
Margin="0, 0, 20, 20"></Image>
<Button x:Name="btnVolgendeKlant"
Click="btnVolgendeKlant_Click"
Grid.Row="1"
Grid.Column="1"
Height="40px"
Width="100px"
VerticalAlignment="Bottom"
HorizontalAlignment="Left"
Margin="20, 0, 0, 20">
Volgende klant
</Button>
</Grid>
</Window>
c#:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Text.RegularExpressions;
using System.Windows.Threading;
namespace DeFluitendeFietser
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
DispatcherTimer inactiveTimer = new DispatcherTimer();
public MainWindow()
{
InitializeComponent();
inactiveTimer.Interval = TimeSpan.FromSeconds(1);
inactiveTimer.Tick += inactiveTimer_Tick;
inactiveTimer.Start();
}
void inactiveTimer_Tick(object sender, EventArgs e)
{
pbInactief.Value++;
if (pbInactief.Value == pbInactief.Maximum)
{
MessageBoxResult inactief = MessageBox.Show("U bent te lang inactief geweest. Begin opnieuw als u toch wilt bestellen.", "Waarschuwing", MessageBoxButton.OK, MessageBoxImage.Warning);
switch(inactief)
{
case MessageBoxResult.OK:
pbInactief.Value = 0;
lbArtikelen.Items.Clear();
return;
}
}
}
private void btnBestelArtikel_Click(object sender, RoutedEventArgs e)
{
pbInactief.Value = 0;
Button delete = new Button();
delete.Content = "X";
if (cmbFietsen.SelectedItem == null && cmbVerzekeringen.SelectedItem == null && cmbServices.SelectedItem == null)
{
MessageBox.Show("Er moet iets geselecteerd worden om toe te kunnen voegen.");
return;
}
if (cmbFietsen.SelectedItem != null && cmbVerzekeringen.SelectedItem == null && cmbServices.SelectedItem == null)
{
lbArtikelen.Items.Add(cmbFietsen.SelectedValue.ToString());
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
}
else if (cmbFietsen.SelectedItem == null && cmbVerzekeringen.SelectedItem != null && cmbServices.SelectedItem == null)
{
lbArtikelen.Items.Add(cmbVerzekeringen.SelectedValue.ToString());
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
}
else if (cmbFietsen.SelectedItem == null && cmbVerzekeringen.SelectedItem == null && cmbServices.SelectedItem != null)
{
lbArtikelen.Items.Add(cmbServices.SelectedValue.ToString());
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
}
if(cmbFietsen.SelectedItem != null && cmbVerzekeringen != null || cmbServices != null)
{
MessageBox.Show("Je kan niet meerdere keuzes tegelijk invoeren, probeer opnieuw.");
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
return;
}
else if(cmbVerzekeringen != null && cmbFietsen.SelectedItem != null || cmbServices.SelectedItem != null)
{
MessageBox.Show("Je kan niet meerdere keuzes tegelijk invoeren, probeer opnieuw.");
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
return;
}
else if (cmbServices.SelectedItem != null && cmbFietsen.SelectedItem != null || cmbVerzekeringen.SelectedItem != null)
{
MessageBox.Show("Je kan niet meerdere keuzes tegelijk invoeren, probeer opnieuw.");
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
return;
}
}
private void cmbFietsen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void cmbVerzekeringen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void cmbServices_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void lbArtikelen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void cmbAantalDagen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void btnBestelArtikel_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void btnVolgendeKlant_Click(object sender, RoutedEventArgs e)
{
if (lbArtikelen.Items.IsEmpty)
{
MessageBox.Show("U heeft niks besteld.");
}
else
{
MessageBoxResult volgendeKlant = MessageBox.Show("Heeft u betaald?", "Waarschuwing", MessageBoxButton.YesNo);
if (volgendeKlant == MessageBoxResult.Yes)
{
MessageBox.Show("Bedankt voor uw bestelling! Wij zien u graag een volgende keer!");
lbArtikelen.Items.Clear();
}
else if(volgendeKlant == MessageBoxResult.No)
{
MessageBox.Show("Controleer uw bestelling, en reken af.");
}
}
}
}
}
I am making a WPF application for school, and I need to get the content of the ComboBoxItem to the ListBox. I did this with just a regular TextBlock in a ComboBoxItem, but I need to add a button to it to be able to delete that item in the ListBox, so I decided to make a StackPanel in every ComboBoxItem, but I can't figure out how to show the content of the StackPanel in the ListBox, I only see: System.Windows.Controls.StackPanel in the ListBox. Can someone help me?
XAML:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DeFluitendeFietser"
mc:Ignorable="d"
Title="Fietsverhuur De Fluitende Fietser - Facturering" Height="450" Width="800"
FontFamily="Bahnschrift">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock FontSize="26px"
Grid.Column="0"
Grid.Row="0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="10, 0, 0, 0">
Fietsen:
</TextBlock>
<TextBlock FontSize="26px"
Grid.Column="0"
Grid.Row="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="10, 0, 0, 0">
Verzekeringen:
</TextBlock>
<TextBlock FontSize="26px"
Grid.Column="0"
Grid.Row="2"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="10, 0, 0, 0">
Services:
</TextBlock>
<ComboBox Height="40px"
Grid.Column="1"
Grid.Row="0"
VerticalAlignment="Center"
x:Name="cmbFietsen"
Margin="0, 0, 10, 0"
SelectedValuePath="Content"
MouseEnter="cmbFietsen_MouseEnter">
<ComboBoxItem x:Name="cmbFiets1">Aanhangfiets €20,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets2">Bakfiets €35,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets3">Driewielfiets €30,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets4">Elektrische fiets €30,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets5">Kinderfiets €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets6">Ligfiets €45,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets7">Oma fiets €12,50 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets8">Racefiets €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets9">Speed pedelec €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets10">Stadsfiets €12,50 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets11">Vouwfiets €10,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets12">Zitfiets €15,00 / dag</ComboBoxItem>
<ComboBoxItem x:Name="cmbFiets13">
<StackPanel>
<TextBlock>Aanhangfiets</TextBlock>
<TextBlock>€20,00</TextBlock>
</StackPanel>
</ComboBoxItem>
</ComboBox>
<ComboBox Height="40px"
Grid.Column="1"
Grid.Row="1"
VerticalAlignment="Center"
x:Name="cmbVerzekeringen"
Margin="0, 0, 10, 0"
SelectedValuePath="Content"
MouseEnter="cmbVerzekeringen_MouseEnter">
<ComboBoxItem>Beschadigingen €5,00 / dag</ComboBoxItem>
<ComboBoxItem>Diefstal €10,00 / dag, eigen risico</ComboBoxItem>
<ComboBoxItem>Rechtsbijstand €5,00 / dag</ComboBoxItem>
<ComboBoxItem>Ongevallen €2,50 / dag</ComboBoxItem>
</ComboBox>
<ComboBox Height="40px"
Grid.Column="1"
Grid.Row="2"
VerticalAlignment="Center"
x:Name="cmbServices"
Margin="0, 0, 10, 0"
SelectedValuePath="Content"
MouseEnter="cmbServices_MouseEnter">
<ComboBoxItem>Ophaalservice €15,00 / dag</ComboBoxItem>
<ComboBoxItem>Regenpak €10,00 / dag</ComboBoxItem>
<ComboBoxItem>Lunchpakket basis €12,50 / dag</ComboBoxItem>
<ComboBoxItem>Lunchpakket uitgebreid €20,00 / dag</ComboBoxItem>
</ComboBox>
<Grid Grid.Column="1"
Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button x:Name="btnBestelArtikel"
Click="btnBestelArtikel_Click"
MouseEnter="btnBestelArtikel_MouseEnter"
Grid.Column="1"
Grid.Row="0"
VerticalAlignment="Center"
HorizontalAlignment="Right"
Margin="0, 0, 10, 0"
Height="30px"
Background="Green">
Bestel artikel
</Button>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Grid.Row="0"
TextWrapping="Wrap"
HorizontalAlignment="Center"
VerticalAlignment="Center">
Aantal dagen:
</TextBlock>
<ComboBox x:Name="cmbAantalDagen"
Grid.Column="1"
Grid.Row="0"
VerticalAlignment="Center"
HorizontalAlignment="Right"
Margin="0, 0, 10, 0"
MouseEnter="cmbAantalDagen_MouseEnter">
<ComboBoxItem IsSelected="True">1</ComboBoxItem>
<ComboBoxItem>2</ComboBoxItem>
<ComboBoxItem>3</ComboBoxItem>
<ComboBoxItem>4</ComboBoxItem>
<ComboBoxItem>5</ComboBoxItem>
<ComboBoxItem>6</ComboBoxItem>
<ComboBoxItem>7</ComboBoxItem>
<ComboBoxItem>8</ComboBoxItem>
<ComboBoxItem>9</ComboBoxItem>
<ComboBoxItem>10</ComboBoxItem>
<ComboBoxItem>11</ComboBoxItem>
<ComboBoxItem>12</ComboBoxItem>
<ComboBoxItem>13</ComboBoxItem>
<ComboBoxItem>14</ComboBoxItem>
<ComboBoxItem>15</ComboBoxItem>
</ComboBox>
</Grid>
</Grid>
</Grid>
<Grid Grid.Column="1"
Grid.Row="0"
Margin="10, 10, 10, 10">
<ListBox x:Name="lbArtikelen"
Width="200px"
HorizontalAlignment="Left"
MouseEnter="lbArtikelen_MouseEnter">
</ListBox>
<TextBlock HorizontalAlignment="Right"
Margin="0, 0, 40, 0">Te betalen: €</TextBlock>
<TextBlock HorizontalAlignment="Right"
x:Name="tbBetalen">0,00 </TextBlock>
</Grid>
<ProgressBar Grid.Row="1"
VerticalAlignment="Bottom"
HorizontalAlignment="Center"
Height="30px"
Width="200px"
Margin="0, 0, 0, 20"
Minimum="0"
Maximum="60"
x:Name="pbInactief"></ProgressBar>
<Image Source="Assets/logo.png"
Grid.Row="1"
Grid.Column="1"
Height="100px"
Width="150px"
VerticalAlignment="Bottom"
HorizontalAlignment="Right"
Margin="0, 0, 20, 20"></Image>
<Button x:Name="btnVolgendeKlant"
Click="btnVolgendeKlant_Click"
Grid.Row="1"
Grid.Column="1"
Height="40px"
Width="100px"
VerticalAlignment="Bottom"
HorizontalAlignment="Left"
Margin="20, 0, 0, 20">
Volgende klant
</Button>
</Grid>
</Window>
C#:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Text.RegularExpressions;
using System.Windows.Threading;
namespace DeFluitendeFietser
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
DispatcherTimer inactiveTimer = new DispatcherTimer();
public MainWindow()
{
InitializeComponent();
inactiveTimer.Interval = TimeSpan.FromSeconds(1);
inactiveTimer.Tick += inactiveTimer_Tick;
inactiveTimer.Start();
}
void inactiveTimer_Tick(object sender, EventArgs e)
{
pbInactief.Value++;
if (pbInactief.Value == pbInactief.Maximum)
{
MessageBoxResult inactief = MessageBox.Show("U bent te lang inactief geweest. Begin opnieuw als u toch wilt bestellen.", "Waarschuwing", MessageBoxButton.OK, MessageBoxImage.Warning);
switch(inactief)
{
case MessageBoxResult.OK:
pbInactief.Value = 0;
lbArtikelen.Items.Clear();
return;
}
}
}
private void btnBestelArtikel_Click(object sender, RoutedEventArgs e)
{
pbInactief.Value = 0;
Button delete = new Button();
delete.Content = "X";
if (cmbFietsen.SelectedItem == null && cmbVerzekeringen.SelectedItem == null && cmbServices.SelectedItem == null)
{
MessageBox.Show("Er moet iets geselecteerd worden om toe te kunnen voegen.");
return;
}
if (cmbFietsen.SelectedItem != null && cmbVerzekeringen.SelectedItem == null && cmbServices.SelectedItem == null)
{
lbArtikelen.Items.Add(cmbFietsen.SelectedValue.ToString());
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
}
else if (cmbFietsen.SelectedItem == null && cmbVerzekeringen.SelectedItem != null && cmbServices.SelectedItem == null)
{
lbArtikelen.Items.Add(cmbVerzekeringen.SelectedValue.ToString());
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
}
else if (cmbFietsen.SelectedItem == null && cmbVerzekeringen.SelectedItem == null && cmbServices.SelectedItem != null)
{
lbArtikelen.Items.Add(cmbServices.SelectedValue.ToString());
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
}
if(cmbFietsen.SelectedItem != null && cmbVerzekeringen != null || cmbServices != null)
{
MessageBox.Show("Je kan niet meerdere keuzes tegelijk invoeren, probeer opnieuw.");
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
return;
}
else if(cmbVerzekeringen != null && cmbFietsen.SelectedItem != null || cmbServices.SelectedItem != null)
{
MessageBox.Show("Je kan niet meerdere keuzes tegelijk invoeren, probeer opnieuw.");
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
return;
}
else if (cmbServices.SelectedItem != null && cmbFietsen.SelectedItem != null || cmbVerzekeringen.SelectedItem != null)
{
MessageBox.Show("Je kan niet meerdere keuzes tegelijk invoeren, probeer opnieuw.");
cmbFietsen.SelectedItem = null;
cmbVerzekeringen.SelectedItem = null;
cmbServices.SelectedItem = null;
return;
}
}
private void cmbFietsen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void cmbVerzekeringen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void cmbServices_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void lbArtikelen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void cmbAantalDagen_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void btnBestelArtikel_MouseEnter(object sender, MouseEventArgs e)
{
pbInactief.Value = 0;
}
private void btnVolgendeKlant_Click(object sender, RoutedEventArgs e)
{
if (lbArtikelen.Items.IsEmpty)
{
MessageBox.Show("U heeft niks besteld.");
}
else
{
MessageBoxResult volgendeKlant = MessageBox.Show("Heeft u betaald?", "Waarschuwing", MessageBoxButton.YesNo);
if (volgendeKlant == MessageBoxResult.Yes)
{
MessageBox.Show("Bedankt voor uw bestelling! Wij zien u graag een volgende keer!");
lbArtikelen.Items.Clear();
}
else if(volgendeKlant == MessageBoxResult.No)
{
MessageBox.Show("Controleer uw bestelling, en reken af.");
}
}
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在做的是在UI中定义
value
。实际上没有selectedvalue
。selectedValue
是UI元素。您应该做的是查看
mvvm
模式。如何绑定
数据,如何使用datatemplates
等样式。如果您不想这样做,则可以尝试在
delete
按钮combobox
和删除所选项目之外。但是我不确定它是否有效编辑:
这是带有删除按钮的Combobox的示例
和后面的代码(我已将Microsoft.toolkit.mvvm用作nuget库)
What you are doing is defining the
Values
in UI. There is not realy aSelectedValue
.SelectedValue
is the UI element.What you should do is to look at
MVVM
Pattern. How toBind
Data, how to Style withDataTemplates
and so on.If you don't want to do that, you can try to bring the
Delete
button outside theComboBox
and delete selected item. But I'm not sure it will workEdit:
Here is the example of ComboBox with Delete Button
And the code behind (I have used Microsoft.Toolkit.Mvvm as NuGet library)