2016-12-03 12 views
0

MasterPageには、2つのフレームがあります。 ホームページは、最初のフレームである - HomeVMで>SelectedItemをListViewのViewModelにキャッチできませんか?

<Page.DataContext> 
    <viewmodel:HomeVM/> 
</Page.DataContext> 
<ListView x:Name="lstHome" SelectedItem="{Binding lstHome_ItemClick}" 
      Margin="10" ItemsSource="{Binding statusList}"> 

/// <summary> 
/// ItemClick of ListView 
/// </summary> 
private Status _lstHome_ItemClick; 
public Status lstHome_ItemClick 
{ 
    get 
    { 
     return _lstHome_ItemClick; 
    } 
    set 
    { 
     if(_lstHome_ItemClick==value) 
     { 
      return; 
     } 
     _lstHome_ItemClick = value; 
     //Excute the below code when the selection of listview has changed 
     ItemClick(_lstHome_ItemClick); 

     PropertyChanged?.Invoke(this,new PropertyChangedEventArgs("lstHome_ItemClick")); 
    } 
} 

public event PropertyChangedEventHandler PropertyChanged; 

私はListview-上の項目をクリックすると> lstHome_ItemClickを呼び出すことはありません。どうして?

+0

は、 'Page'の' ListView'ですか? 'ListView'上で' DataContext'を設定し、それがホームページのListView – Multinerd

+0

ListViewで動作するかどうか確認してください。 let DataContext = "{Binding statusList}" ListViewがnullの場合 –

+0

'Binding'に' UpdateSourceTrigger = PropertyChanged'を設定します。 – AnjumSKhan

答えて

1

bindingTwoWayと設定します。 UWP the defaultOneWayです。

<ListView x:Name="lstHome" SelectedItem="{Binding lstHome_ItemClick, Mode=TwoWay}" 
Margin="10" ItemsSource="{Binding statusList}" /> 
関連する問題