UNO材质BottomNavigationBar事件处理程序

时间:2020-09-28 15:21:18

标签: material-ui material-design uno-platform

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

... ...

1 个答案:

答案 0 :(得分:1)

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
}