繁体   English   中英

UNO 材质 BottomNavigationBar 事件处理程序

[英]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 ,因此它已经实现了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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM