我在ObservableCollection中有一个选取器,我需要用自定义命令绑定SelectedIndexChanged属性,因为它将对包含此选取器的对象的同一示例进行一些更改,而在此之外没有。我知道BindingContext设置正确,因为ItemsSource按预期加载。但VS不编译并显示以下消息:Binding SelectedIndexChanged: No property, BindableProperty, or event found for "SelectedIndexChanged", or mismatching type between value and property.
下面是我的代码:
public event EventHandler HourChangedIndex
{
add
{
HourChangedIndex += new EventHandler((sender, e) =>
{
Hours.Add(((Picker)sender).SelectedItem as string);
Hours = new ObservableCollection<string>(Hours.OrderBy(i => i));
});
}
remove
{
HourChangedIndex -= new EventHandler((sender, e) =>
{
Hours.Add(((Picker)sender).SelectedItem as string);
Hours = new ObservableCollection<string>(Hours.OrderBy(i => i));
});
}
}
我做错了什么或错过了什么?
1条答案
按热度按时间gr8qqesn1#
您可以查看此文档,它详细描述了
SelectedIndexChanged
和SelectedIndex
之间的关系。选取器支持一次选择一个项目。当用户选择一个项目时,将触发SelectedIndexChanged事件,SelectedIndex属性将更新为表示列表中选定项目的索引的整数,SelectedItem属性将更新为表示选定项目的对象。SelectedIndex属性是一个从零开始的数字,表示用户选择的项目。如果未选择任何项目,这是第一次创建和初始化选取器时的情况,SelectedIndex将为-1。