首先在xaml里面添加一个Button和ComboBox控件如下:
<Window x:Class="WpfApp_ComboBox.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:WpfApp_ComboBox"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<StackPanel HorizontalAlignment="Left" >
<Button Width="30" Height="30" Content="Test" Margin="5,5,5,5" Click="Button_Click" >
</Button>
<ComboBox Name="Ctrl_Combo" Width="150" Height="50">
</ComboBox>
</StackPanel>
</Grid>
</Window>
然后在主窗口后台添加相应的数据选择
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<TestData> list = new List<TestData>();
list.Add(new TestData { Offset = 1, name = "1111" });
list.Add(new TestData { Offset = 2, name = "2222" });
list.Add(new TestData { Offset = 3, name = "3333" });
Ctrl_Combo.ItemsSource = list;
Ctrl_Combo.DisplayMemberPath = "name";
// Ctrl_Combo.SelectedValuePath = "offset";
}
private void Button_Click(object sender, RoutedEventArgs e)
{
int temp = Ctrl_Combo.SelectedIndex;
}
}
public class TestData
{
public int Offset { get; set; }
public string? name { get; set; }
}
Ctrl_Combo.DisplayMemberPath = "name"; 这是指定将name的数据绑定到控件
然后通过点击Button就可以读到当前选择哪个内容