1
我有一個基本的MVVM WPF應用程序,它顯示DataGrid
中的一堆用戶相關信息。作爲一個例子,我有兩個類(我簡化了類,並沒有在我的實際應用中實現INotifyPropertyChanged
等)WPF Datagrid查找Combobox
public class Address
{
public String StreetName { get; set; }
}
public class Person
{
public String Name { get; set; }
public String Street { get; set; }
}
我ViewModel
包含兩個ObservableCollections
。
ObservableCollection<Person>
ObservableCollection<Address>
我綁定ViewModel
到Window
,它顯示了人收集就好了。但現在我想,地址爲ComboBox
,用戶只能從上面的地址集合中選擇值。像查找表一樣。
這是我的XAML代碼。我管理,這是顯示地址集合,但它不會顯示我從個人收集的實際記錄作爲初始記錄。
<DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn>
<DataGridTextColumn Header="Street" Binding="{Binding Street}"></DataGridTextColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding DataContext.addresses, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MainWindow}}}" DisplayMemberPath="StreetName">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我不真的得到它,如果我現在必須使用'SelectedItem'或'SelectedValue'。我不能不工作。 –
@HansVader你想綁定什麼?整個地址對象或只是街道名稱(例如)? – ChrisF
我只想綁定到'Person'對象的字段'Street'。 –