Добавление отдельного ItemsSource для ListView проще. Если это то, что вы ищете. Это можно сделать с двумя свойствами в вашей MainViewModel.
XAMl
<ListView
ItemsSource="{Binding ListSource1}">
</ListView>
<ListView
Grid.Column="1"
ItemsSource="{Binding ListSource2}">
</ListView>
Класс ViewModel
public class MainViewModel
{
public ObservableCollection<string> ListSource1 { get; set; }
public ObservableCollection<string> ListSource2 { get; set; }
public MainViewModel()
{
ListSource1 = new ObservableCollection<string>()
{
"I'm from first viewmodel",
"I'm from first viewmodel",
"I'm from first viewmodel",
"I'm from first viewmodel",
"I'm from first viewmodel",
"I'm from first viewmodel"
};
ListSource2 = new ObservableCollection<string>()
{
"I'm from second ViewModel",
"I'm from second ViewModel",
"I'm from second ViewModel",
"I'm from second ViewModel",
"I'm from second ViewModel",
"I'm from second ViewModel"
};
}
}
Если вы хотите добавить источник из разных ViewModels.
ListSource1 = new ViewModel1().ListSource;
ListSource2 = new ViewModel2().ListSource;
Если вы хотите sh установить BindingContext для ListView, это можно сделать, связав сам контекст привязки, как предлагает Марко.
Но вам нужно также добавить ViewModel к вашей основной ViewModel в качестве свойств.
public ViewModel1 FirstViewModel { get; set; }
public ViewModel2 SecondViewModel { get; set; }
Xaml:
<ListView
BindingContext="{Binding FirstViewModel}"