我正在尝试将 ViewModel 中的 List 绑定到 Page 中的 ListView ,但我无法让它工作,尽管列表中填充了值,但 ItemsSource 始终为空。
这就是我设置整个事情的方式。
这些属性被添加到我的 xaml 中的页面标记中
xmlns:viewmodels ="using:TimeMachine3.ViewModels"
d:DataContext="{d:DesignInstance viewmodels:MasterViewModel}"
我的 ListView 定义为
<ListView x:Name="lstMainMaster" ItemsSource="{Binding MyList}" SelectionChanged="lstMainMaster_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{x:Bind Name}"/>
<TextBlock Text="{x:Bind Number}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在我的 master.cs (页面代码)中,我有
private ViewModels.MasterViewModel viewmodel;
//constructor
public master()
{
this.InitializeComponent();
this.Loaded += Master_Loaded;
}
private void Master_Loaded(object sender, RoutedEventArgs e)
{
viewmodel = new ViewModels.MasterViewModel();
viewmodel.populate();
}
在 masterViewmodel (页面的视图模型)我有这个代码
private ObservableCollection<Month> _myList;
public ObservableCollection<Month> MyList{ get {return _myList; } }
public void Populate()
{
_myList = new ObservableCollection<Month>(DataBase.GetMonths(2017));
}