я должен классов книг и издательств:Wpf DatagridComboBoxColumn привязка для двух таблиц?
public partial class Books
{
public Books()
{
this.Authors = new ObservableCollection<Authors>();
}
public int bID { get; set; }
public string Title { get; set; }
public int phID { get; set; }
public Nullable<short> PubYear { get; set; }
public Nullable<short> Edition { get; set; }
public virtual PublishingHouse PublishingHouse { get; set; }
public virtual ObservableCollection<Authors> Authors { get; set; }
}
public partial class PublishingHouse
{
public PublishingHouse()
{
this.Books = new ObservableCollection<Books>();
}
public int phID { get; set; }
public string Title { get; set; }
public string City { get; set; }
public virtual ObservableCollection<Books> Books { get; set; }
}
Так у меня есть DataGrid, который показывает мне все мои книги:
<Window.Resources>
<CollectionViewSource x:Key="booksViewSource" d:DesignSource="{d:DesignInstance {x:Type local:Books}, CreateList=True}"/>
<CollectionViewSource x:Key="booksAuthorsViewSource" Source="{Binding Authors, Source={StaticResource booksViewSource}}"/>
<CollectionViewSource x:Key="authorsViewSource" d:DesignSource="{d:DesignInstance {x:Type local:Authors}, CreateList=True}"/>
<CollectionViewSource x:Key="publishingHouseViewSource" d:DesignSource="{d:DesignInstance {x:Type local:PublishingHouse}, CreateList=True}"/>
</Window.Resources>
<Grid DataContext="{StaticResource booksViewSource}" Margin="0,0,2,0">
<DataGrid ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="b ID" Binding="{Binding bID}"/>
<DataGridTextColumn Header="Title" Binding="{Binding Title}"/>
<DataGridTextColumn Header="#" Binding="{Binding Edition}"/>
<DataGridTextColumn Header="Year" Binding="{Binding PubYear}"/>
<DataGridComboBoxColumn x:Name="phIDComboBoxColumn" SelectedItemBinding="{Binding phID}" />
</DataGrid.Columns>
</DataGrid>
Дело я хочу, чтобы установить значение по умолчанию моего phIDComboBoxColumn
взято из книги, но когда я хочу ее отредактировать, я хочу просмотреть список phId
всех доступных PublishingHouses
. Должен ли я каким-то образом привязать «DataGridComboBoxColumn» к двум данным?
Предположим, есть список phId's PublishingHouses в вашем «Combobox», и вы выбираете, например, phId # 3, если значение по умолчанию должно быть взято из книги, а какую «Книгу» вы ожидаете выбрать? –
Я ожидаю, что значение phID книги будет изменено на phid # 3 – Sic