我有兩個類WPF:數據綁定和組合框
Company
CompanyKey
CompanyName
Person
FirstName
LastName
CompanyKey
組合框列表項綁定到CompanyObjects的集合。
如何將Combobox的選定項屬性綁定到Person.CompanyKey屬性?
我有兩個類WPF:數據綁定和組合框
Company
CompanyKey
CompanyName
Person
FirstName
LastName
CompanyKey
組合框列表項綁定到CompanyObjects的集合。
如何將Combobox的選定項屬性綁定到Person.CompanyKey屬性?
然後,您可以用類似綁定在你的XAML
如果我已經正確理解你的問題,這裏是一個演示應用程序,解釋組合框的數據綁定:Demo App
希望這會有所幫助。
問候,
米希爾Gokani
編輯:從代碼示例片段
<Window
x:Class="WpfApplication.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
Height="300"
Width="300">
<StackPanel>
<TextBlock
Margin="10">Persons</TextBlock>
<ComboBox
x:Name="comboPersons"
Height="25"
Margin="10"
ItemsSource="{Binding Persons}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel
Orientation="Horizontal">
<TextBlock
Text="{Binding FirstName}"
Margin="0,0,5,0" />
<TextBlock
Text="{Binding LastName}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock
Margin="10">Companies</TextBlock>
<ComboBox
x:Name="comboCompanies"
Height="25"
Margin="10"
ItemsSource="{Binding Companies}"
DisplayMemberPath="CompanyName"
SelectedValuePath="CompanyKey"
SelectedValue="{Binding SelectedItem.CompanyKey, ElementName=comboPersons}" />
</StackPanel>
</Window>
看起來太簡單了。我期待它成爲屁股的一大痛苦,而不僅僅是一些屬性。 – 2010-03-20 15:17:57
解決方案很簡單,您需要使用IValueConverter將公司轉換爲Person對象。
有關的IValueConverter的更多信息,請訪問: {綁定路徑= combox.SelectedItem,轉換器= {StaticResource的CompanyToPersonConvertor}}
你確定你的問題是正確的措辭?如果組合框包含公司對象,您如何期望所選項目依賴於人員類別?每家公司只有一個人嗎? – Timores 2010-03-20 09:00:03
組合框用於指示該人在哪個公司。 – 2010-03-20 15:11:34