私のWPF
mvvm(light)プロジェクトでは、このような問題があります:にバインドした後ListView.SelectedItem
、ModelView
から変更しようとしています。問題ないModelView
ようですが、Viewで何も起こりませんでした:
XAML:
<ListView SelectedItem="{Binding SelectedOne}"
ItemsSource="{Binding Items}">
</ListView>
<ListView ScrollViewer.CanContentScroll="False"
ItemsSource="{Binding Items}"
ItemTemplateSelector="{StaticResource myDataTemplateSelector}"
HorizontalContentAlignment="Stretch"
SelectedItem="{Binding SelectedOne, Mode=TwoWay}"
IsSynchronizedWithCurrentItem="True">
</ListView>
MOdelView:
ObservableCollection<ItemViewModel> _EAItems = new ObservableCollection<ItemViewModel>();
public ObservableObject _selectedOne;
public ObservableCollection<ItemViewModel> Items
{
get
{
return _EAItems;
}
set
{
_EAItems = value;
}
}
public ObservableObject SelectedOne
{
get { return _selectedOne; }
set
{
if(_selectedOne != value)
_selectedOne = value;
}
}
Select = new RelayCommand(() =>
{
if (qw == 15) { qw = 0; }else
SelectedOne = Items[qw];
qw++;
});
アイテムはObservableCollection
です。
別のものを追加Listview
して、同じソースにバインドしました。SelctedItem
いずれかを変更するとListview
、別のに表示されます。その逆も同様です。
私は多くの同様の解決策を調べましたが、何が悪いのか理解できません:(