我正在我的应用程序中实现Uno.Material的BottomNavigationBar。我可以使该条显示为我希望的样子,但是当我单击bottomnavigationbaritem进行更改时,无法弄清楚事件处理程序的用途。我尝试了ItemInvoked,OnPressed,OnTouch,OnClick,Clicked-,但无法使其正常工作。我有些尴尬地问-但是有人能够指出正确事件的方向,该事件被触发以及事件的方法签名应该是什么?
...
答案 0 :(得分:1)
BottomNavigationBar
不公开ItemInvoked
事件。您可以通过SelectedItem
属性来检索当前选择。我想它也可以像提供ItemInvoked
一样提供NavigationView
选项,随时根据您的建议打开问题here。
但是,BottomNavigationBarItem
是ToggleButton
,因此它已经实现了Click
,Checked
和Unchecked
事件。
这是如何处理应用程序中的这些事件的示例。 (根据您的情况,您可能只需要Checked
即可)
<controls:BottomNavigationBar>
<controls:BottomNavigationBar.Items>
<controls:BottomNavigationBarItem Label="Favorites"
Click="OnClick"
Checked="OnChecked"
Unchecked="OnUnChecked">
<controls:BottomNavigationBarItem.Icon>
<SymbolIcon Symbol="Favorite" />
</controls:BottomNavigationBarItem.Icon>
</controls:BottomNavigationBarItem>
[...insert more items...]
</controls:BottomNavigationBar.Items>
</controls:BottomNavigationBar>
public void OnClick(object sender, object args)
{
var navBarItem = sender as BottomNavigationBarItem;
// Add logic here
}
public void OnChecked(object sender, object args)
{
var navBarItem = sender as BottomNavigationBarItem;
// Add logic here
}
public void OnUnChecked(object sender, object args)
{
// Items are automatically unchecked when another one is checked.
var navBarItem = sender as BottomNavigationBarItem;
// Add logic here
}