【发布时间】:2015-05-31 09:39:06
【问题描述】:
我必须去书籍和出版社上课:
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 列表987654325@。我必须以某种方式为两个数据源绑定“DataGridComboBoxColumn”吗?
【问题讨论】:
-
假设在您的
Combobox中有一个出版社的 phId 列表,并且您选择例如 phId#3,如果必须从书中获取默认值,那么您希望使用哪个Book被选中? -
我希望 Book 的 phID 值将更改为 phId#3
标签: c# .net wpf datagrid wpfdatagrid