1
我是新的WPF/EF和tring綁定兩個組合框相互。C#綁定選擇兒童組合框
我的代碼來啓動該實體:
private ShipperDBEntities shipper;
public EnterIndicator()
{
InitializeComponent();
shipper = new ShipperDBEntities();
ReLoad();
}
在我刷新子,我開始查詢使用LINQ該實體。 首先,我的IndicatorComboBox,cartype(船,汽車,不顯眼的chaising汽車和更多...類型..)。 第二個組合框包含所有類型的定義。但是當我選擇了上面的指標之一時,第二個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"/>
我開始嘗試通過使用SelectedValue = {Binding}從第一個組合框的選擇嘗試解決方案。
有什麼建議嗎?謝謝!然後
DataContext = this;
public List<dynamic> Fahrzeuges { get; set; }
public List<dynamic> Typen { get; set; }
Fahrzeuges = new List<dynamic>(from Fahrzeuges in shipper.Fahrzeuges
join typen in shipper.Fahrzeugtypens on
Fahrzeuges.Fahrzeugtyp equals
typen.FahrzeugTyp_ID
where Fahrzeuges.Versandunternehman.Versandunternehmen == LieferantenName
select new
{
Kennzeichen = Fahrzeuges.Kennzeichen,
Fahrzeug_ID = Fahrzeuges.Fahrzeug_ID,
FahrzeugTyp = typen.FahrzeugTyp
});
Typen = new List<dynamic>(from Fahrzeugtypens in shipper.Fahrzeugtypens
select new
{
FahrzeugTyp_ID = Fahrzeugtypens.FahrzeugTyp_ID,
FahrzeugTyp = Fahrzeugtypens.FahrzeugTyp
});
在XAML:
您好,感謝您的回覆。我遇到了一個問題,將選擇結果轉換爲動態通用列表。 – rkn53940
編輯了答案。 –