我有一個'Person'類,它可以有一個Items列表。DataGrid - 綁定到MVVM列表的列表
Person.cs
public class Person : ObservableObject
{
private string _id;
public string Id
{
get { return _id; }
set
{
_id = value;
RaisePropertyChangedEvent("Id");
}
}
...
Private IList<Item> _items;
public IList<Item> Items
{
get { return _items; }
set
{
_items = value;
RaisePropertyChangedEvent("Items");
}
}
}
Item.cs
public class Item : ObservableObject
{
private string _id;
public string Id
{
get { return _id; }
set
{
_id = value;
RaisePropertyChangedEvent("Id");
}
}
...
}
我想在標籤數據網格進行顯示。第一個標籤是「Person」,第二個標籤是「Items」。
.XAML
<Window.DataContext>
<viewModels:PersonViewModel />
</Window.DataContext>
<TabControl>
<TabItem Header="Person">
<DataGrid ItemsSource="{Binding Person}" Width="1700" Height="800" AutoGenerateColumns="False" CanUserAddRows="false"
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" RowHeight="20">
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{Binding Id}" IsReadOnly="True"/>
...
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem Header="Items">
<DataGrid ItemsSource="{Binding Person.Items}" Width="1700" Height="800" AutoGenerateColumns="False" CanUserAddRows="false"
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" RowHeight="20">
<DataGrid.Columns>
<DataGridTextColumn Header="Person Id" Binding="{Binding Person.Id}" IsReadOnly="True"/>
<DataGridTextColumn Header="Id" Binding="{Binding Id}" IsReadOnly="True"/>
...
</DataGrid.Columns>
</DataGrid>
</TabItem>
</TabControl>
查看Model.cs
private ObservableCollection<Person> _persons = new ObservableCollection<Person>();
public ObservableCollection<Person> Person
{
get { return _persons; }
set
{
_persons = value;
RaisePropertyChangedEvent("Person");
}
}
這是據我已經得到了。我假設我需要以某種方式循環Person對象,然後做Person.Items,但我不確定。
我能夠很好地顯示我的「Person」對象,它只是我遇到問題的「Items」選項卡。我得到的錯誤「中的DataContext類型的ObservableCollection的‘’無法解決財產」的相關文件
感謝您的幫助
你的意思是一個主詳細視圖或應該都是'Item's所有'Person's出現在第二個選項卡? – dymanoid
你好dymanoid,我只想讓所有人都出現在第二個標籤中。第二個選項卡的第一列是對人員的引用Id –
您是否在第一個DataGrid中看到任何人?什麼是TabControl的DataContext? – mm8