[英]UNO Material BottomNavigationBar Event Handler
我正在我的应用程序中实现来自 Uno.Material 的 BottomNavigationBar。 我可以让栏看起来像我想要的那样 - 但是当我单击底部导航栏项来更改它时,无法弄清楚事件处理程序的用途。 我尝试过 ItemInvoked、OnPressed、OnTouch、OnClick、Clicked-但无法让它工作。 我有点不好意思问 - 但有人能指出我正确的方向,什么事件被触发以及事件的方法签名应该是什么?
... <controls:BottomNavigationBar x:Name="BottomNavBar" Grid.Row="2"mOnClick="BottomNavView_ItemInvoked"> ...
BottomNavigationBar
不公开ItemInvoked
事件。 您可以通过SelectedItem
属性检索当前选择。 我想它也可以提供一个ItemInvoked
选项,就像NavigationView
所提供的那样,请随时根据您的建议在此处打开一个问题。
但是, 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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.