我有一个组合框,看起来像这样:WPF组合框带有名称和ID
<ComboBox x:Name="genreComboBox" ItemsSource="{Binding}" SelectionChanged="genreComboBox_SelectionChanged">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我将它绑定到流派List<Genre>
,其中有一个名字和一个genreId的列表。每当选择更改时,我都会根据该ID更新GridView的DataContext。所以基本上我需要显示的名字,并使用id在DataContext=someDB.getStuffById(int genreId);
我已经试过搞乱与周围getStuffById(genreComboBox.SelectedItem)
和getStuffById(genreComboBox.SelectedValue)
,设置DisplayMemeberPath="Name"
和SelectedValuePath="GenreId"
。大多数情况下,显示名为get。
无论我试图获得genreId,我总是会得到一个NullReferenceException。
谢谢!
为什么你不在后面的代码中绑定组合框? – Kami
执行以下操作:genreComboBox.ItemSource =列表; genreComboBox.DisplayMemberPath =“名称”; genreComboBox..SelectedValuePath =“Id”; genreComboBox.DataContext =列表;在列表对象中读取列表。 –
Kami
嗯,我试图围绕着Binding,这还是一个新的东西。如果我在XAML中获得'ItemSource = {Binding}'并且'genreComboBox.DataContext = genreList;'在代码后面的代码中,只是'genreComboBox.ItemSource = genreList'在代码后面会起作用吗? –