Вот очень простой пример привязки выпадающего списка к списку строк и использования выбранной строки при нажатии кнопки.
Это файл кода C #:
using System.Collections.Generic;
using System.Windows;
namespace WpfCombobox
{
public partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
}
public string MySimpleStringProperty { get; set; }
public List<string> MyListProperty { get; set; } = new List<string>() { "one", "two", "three" };
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
MessageBox.Show($"Item is {this.MySimpleStringProperty}");
}
}
}
Очевидно, что вместо того, чтобы просто отображать выбранный элемент в окне сообщения, вы бы использовали его в своем SQL.
А вот и WPF:
<Window x:Class="WpfCombobox.MainWindow"
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:WpfCombobox"
mc:Ignorable="d"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<ComboBox ItemsSource="{Binding MyListProperty}"
SelectedItem="{Binding MySimpleStringProperty}"
IsSynchronizedWithCurrentItem="True"
Text="Select Option"
Margin="5"/>
<Button Click="ButtonBase_OnClick" Content="Click Me!" Margin="5" />
</StackPanel>
</Window>
Обратите внимание, что у выпадающего списка есть ItemSource
, который связан со списком строк one, two, three
, и SelectedItem
, который изменяется, когда пользователь выбирает элемент.