这听起来像是一个愚蠢的想法,但请听我说:
我的自定义选择器有一个列表,其中顶部项目是:"无筛选"。如果有人选择这个项目,我不希望选择器像 atm 一样说"没有过滤",我希望它再次显示它的标题,即"区域"。
我的意思是,它从一开始就这样做,只有当您将列表更改为其他内容时,它才会显示已选择的内容(这很好(,但在这种情况下,我希望它再次显示"区域",而不仅仅是"无过滤"(因为它是选择某个区域的选择器。
我尝试再次将选取器设置为其标题:
picker_subcat1_mainmenu.Title = "Region";
但这不会改变任何东西,因为标题没有改变,只有显示的内容才有改变。
你能在这里帮我吗?
谢谢!
Xamarin.Forms picker 的默认值为 -1,未选择任何内容。选取器的项目从 0 开始。因此,就我遇到的问题而言,这里有一个解决方案,我将建议:
当选取器索引更改时,将触发一个名为 picker_SelectedIndexChanged 的事件。当选择"无筛选"时,更改选择器的占位符(标题(,该选择器中的索引为 0。
private void picker_SelectedIndexChanged(object sender, EventArgs e)
{
var picker = sender as Picker;
if (picker.SelectedIndex == 0)
{
picker_subcat1_mainmenu.Title = "Region";
}
else{
return;
//or set e.selectedItem
}
}
如果您有任何疑问,请告诉我。希望这对您有所帮助。
谢谢。