UNO材质BottomNavigationBar事件处理程序

问题描述

我正在我的应用程序中实现Uno.Material的BottomNavigationBar。我可以使该条显示为我希望的样子,但是当我单击bottomnavigationbaritem进行更改时,无法弄清楚事件处理程序的用途。我尝试了ItemInvoked,Onpressed,OnTouch,OnClick,Clicked-,但无法使其正常工作。我有些尴尬地问-但是有人能够指出正确事件的方向,该事件被触发以及事件的方法签名应该是什么?

... ...

解决方法

BottomNavigationBar不公开ItemInvoked事件。您可以通过SelectedItem属性来检索当前选择。我想它也可以像提供ItemInvoked一样提供NavigationView选项,随时根据您的建议打开问题here

但是,BottomNavigationBarItemToggleButton,因此它已经实现了ClickCheckedUnchecked事件。

这是如何处理应用程序中的这些事件的示例。 (根据您的情况,您可能只需要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
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...