私のViewModelのListを私のページのListViewにバインドしようとしていますが、動作させることができません。ItemsSourceは常にnullです値が設定されます。なぜ私のListView ItemsSource null(uwp app c#)
これは私が全体を設定する方法です。
theese属性は私のXAMLでページタグに追加され
xmlns:viewmodels ="using:TimeMachine3.ViewModels"
d:DataContext="{d:DesignInstance viewmodels:MasterViewModel}"
私LisstViewは私master.csで
<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>
(ページコード)私は
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));
}
あなたのリストに値を設定する場所はいくつかありますか? –
私は編集が完了したことを示すいくつかのコードで私の質問を編集しました。 viewModelは、Page.Loadedイベントハンドラで作成されます。作成後、Populate()がviewmodelで呼び出されます。 Populate()に入力しますList _myList List <> MyListが返すgetステートメント –
narancha