xamarin 尝试绑定SelectedIndexChanged时出错:找不到属性、BindableProperty或事件

qacovj5a  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(162)

我在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));
        });
      }
}

我做错了什么或错过了什么?

gr8qqesn

gr8qqesn1#

您可以查看此文档,它详细描述了SelectedIndexChangedSelectedIndex之间的关系。
选取器支持一次选择一个项目。当用户选择一个项目时,将触发SelectedIndexChanged事件,SelectedIndex属性将更新为表示列表中选定项目的索引的整数,SelectedItem属性将更新为表示选定项目的对象。SelectedIndex属性是一个从零开始的数字,表示用户选择的项目。如果未选择任何项目,这是第一次创建和初始化选取器时的情况,SelectedIndex将为-1。

相关问题