将 UI 事件绑定到 UWP 中的命令



我想将任何UI-Event直接绑定到ViewModel中的命令。有没有办法在 UWP 中做到这一点?

我正在使用 UWP 社区工具包,并希望将汉堡菜单项单击绑定到命令。

谢谢托比亚斯

好的,

我找到了解决方案。可在此处找到:UWP 中的行为(事件触发器命令错误(

我将在这里重复我的步骤:

1 - 安装软件包

Install-Package Microsoft.Xaml.Behaviors.Uwp.Managed

2 - 包括对视图的引用

xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"

3-将命令添加到视图模型

        public DelegateCommand MenuItemCommand { get; set; }
        public void InitCommands()
        {
            MenuItemCommand = new DelegateCommand(MenuItemClicked);                            
        }
        private void MenuItemClicked()
        {
            //do something when clicked
        }

4 - 将菜单项的 Click-Event 绑定到视图中的命令(请参阅 i:...-标记(

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <controls:HamburgerMenu x:Name="HamburgerMenuControl"
                            PaneBackground="Black"
                            Foreground="White"
                            ItemTemplate="{StaticResource DefaultTemplate}"
                            OptionsItemTemplate="{StaticResource DefaultTemplate}"
                            ItemsSource="{Binding MenuItems}"
                            OptionsItemsSource="{Binding MenuOptionItems}"
                            >
        <i:Interaction.Behaviors>
            <core:EventTriggerBehavior EventName="ItemClick">
                <core:InvokeCommandAction Command="{Binding MenuItemCommand}"></core:InvokeCommandAction>
            </core:EventTriggerBehavior>
        </i:Interaction.Behaviors>
        <Frame x:Name="ContentFrame"/>
    </controls:HamburgerMenu>
</Grid>

当我知道点击菜单项时

最新更新