Xamarin.Forms:让选取器在标题中显示已选取的内容以外的内容



这听起来像是一个愚蠢的想法,但请听我说:

我的自定义选择器有一个列表,其中顶部项目是:"无筛选"。如果有人选择这个项目,我不希望选择器像 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  
}
}

如果您有任何疑问,请告诉我。希望这对您有所帮助。

谢谢。

最新更新