1
私はWPF/EFで新しく、2つのコンボボックスを互いにバインドします。 entitys開始するC#選択コンボボックスをバインドする
マイコード:私のリロードサブで
private ShipperDBEntities shipper;
public EnterIndicator()
{
InitializeComponent();
shipper = new ShipperDBEntities();
ReLoad();
}
を、私は、LINQでentitysを照会し始めます。 まず、私のIndicatorComboBox、カート種(船、車、邪魔されないchaising車、もっと...タイプ..)。 2番目のComboBoxには、すべてのタイプの定義が含まれています。しかし、上記のインジケータの1つを選択すると、2番目のTypeComboBoxが適切なタイプの車を選択できます。車のタイプはデータベースで決定されます。ここ は、クエリのコードです:
DataContext = null;
var query = (from Fahrzeuges in shipper.Fahrzeuges
join typen in shipper.Fahrzeugtypens on Fahrzeuges.Fahrzeugtyp equals
typen.FahrzeugTyp_ID
where
Fahrzeuges.Versandunternehman.Versandunternehmen == LieferantenName
select new
{
Fahrzeuges.Kennzeichen,
Fahrzeuges.Fahrzeug_ID,
typen.FahrzeugTyp
});
DataContext = query.ToList();
FahrzeugTypBox.ItemsSource = (from Fahrzeugtypens in shipper.Fahrzeugtypens
select new
{
FahrzeugTyp_ID = Fahrzeugtypens.FahrzeugTyp_ID,
FahrzeugTyp = Fahrzeugtypens.FahrzeugTyp
}).ToList();
KennzeichenBox.SelectedIndex = 0;
私は正しいXAMLを使用して、それを解決することができますね。 ここにxamlのコードがあります(しかし、私は実際には分かりません)。
<ComboBox Grid.Row="1" Grid.Column="1" ItemsSource="{Binding}" SelectedValuePath="Fahrzeug_ID" DisplayMemberPath="Kennzeichen" VerticalAlignment="Top" Name="KennzeichenBox" Height="25" SelectionChanged="KennzeichenBox_SelectionChanged"/>
<ComboBox Grid.Row="3" IsSynchronizedWithCurrentItem="True"
Grid.Column="1" ItemsSource="{Binding}"
SelectedValuePath="FahrzeugTyp_id"
DisplayMemberPath="FahrzeugTyp"
SelectedValue="{Binding SelectedItem.FahrzeugTyp,ElementName=KennzeichenBox}"
VerticalAlignment="Top"
Name="FahrzeugTypBox" Height="25"/>
Iは=最初のコンボボックスにより選択から{バインディング} SelectedValueのを使用して溶液を試みるようになりました。
提案がありますか?ありがとう!
こんにちは、お返事に感謝を。選択結果を動的総称リストに変換する際に問題が発生しました。 – rkn53940
が回答を編集しました。 –