Я делаю простое приложение WPF, у которого есть первый ObservableList ViewModels:
public OuterViewModel CurrentItem
{
get;
set;
}
public ObservableCollection<OuterViewModel> OuterItems
{
get;
set;
}
OuterViewModel имеет следующие объекты:
public string Description
{
get;
private set;
}
public ObservableCollection<InnerViewModel> Ruote
{
get;
private set;
}
Модель внутреннего представления:
public string Name
{
get;
set;
}
public Numbers Row
{
get;
set;
}
Объект Numbers имеет просто пять числительных c свойств. О XAML:
<Window.DataContext>
<local:MainWindowViewModel />
</Window.DataContext>
<ListBox Grid.Column="0" ItemsSource="{Binding OuterItems}" SelectedItem="{Binding CurrentItem}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Label Content="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListView Grid.Column="1" ItemsSource="{Binding CurrentItem.Ruote}">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding ?}"/>
<GridViewColumn Header="Primo" />
<GridViewColumn Header="Secondo" />
<GridViewColumn Header="Terzo" />
<GridViewColumn Header="Quarto" />
<GridViewColumn Header="Quinto" />
</GridView>
</ListView.View>
</ListView>
Список отображается правильно, в то время как Intellisense говорит, что я могу выбрать CurrentItem.Ruote для ListView.ItemSource. Теперь я хочу заполнить строки ListView элементами Ruote, и тут возникают проблемы: я не могу выбрать свойства InnerViewModel для размещения в ячейках. Что я делаю не так?