イメージと名前を持つ静的な人物リストを持つWPF ComboBoxがあります。選択したFirstNameをdbテーブルにバインドしようとしています。私は今それをやっている方法は、(明らかに間違った)私は唯一のオブジェクトを結合し、それゆえ書いています:私のdbテーブルにComboBoxItemの子要素のTextプロパティをバインドします。
System.Windows.Controls.ComboBoxItem
を。
TextBlock.Textプロパティから、選択したComboBoxItemのFirstNameをバインドするにはどうすればよいですか?純粋にWPFでこれを行う方法はありますか?
<ComboBox Text="{Binding Path=FirstName}">
<ComboBoxItem>
<StackPanel Orientation="Horizontal" >
<Image Source="/Images/Alice.png" />
<TextBlock Text="Alice" />
</StackPanel>
</ComboBoxItem>
<ComboBoxItem>
<StackPanel Orientation="Horizontal">
<Image Source="/Images/Bob.png" />
<TextBlock Text="Bob" />
</StackPanel>
</ComboBoxItem>
</ComboBox>
私が代わりにcomboboxitemsをハードコーディングで、あなたがするDataTemplateを使用する必要があり、ボタンのクリックイベントにdbテーブルへの変更
private void SaveAndClose_Click(object sender, RoutedEventArgs e)
{
bindingView = (BindingListCollectionView)myCollection.View;
bindingView.CommitEdit();
db.SubmitChanges();
}
選択したアイテムを処理するために使用しているコードが変更されていることを表示できますか? WPFはプレゼンテーション層だけを意図しているので、データベースに書き込むためのコードビハインドが必要です。 – msarchet
選択したアイテム変更イベントは使用しません。私はすべきですか? – user1081822