将 Ui 事件绑定到 UWP 中的命令 [重复]

Posted

技术标签:

【中文标题】将 Ui 事件绑定到 UWP 中的命令 [重复]【英文标题】:Binding Ui-Events to Commands in UWP [duplicate] 【发布时间】:2017-09-04 10:09:15 【问题描述】:

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

我正在使用 UWP 社区工具包并希望将 Hamburger-Menu-Item-Click 绑定到命令。

谢谢 托比亚斯

【问题讨论】:

好的,谢谢!这就是我需要的! 【参考方案1】:

好的,我找到了解决方案。 你可以在这里找到它:Behaviors in UWP (Event trigger command error

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

1 - 安装包

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

2 - 包括对您查看的引用

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

3- 将命令添加到您的 ViewModel

        public DelegateCommand MenuItemCommand  get; set; 

        public void InitCommands()
        
            MenuItemCommand = new DelegateCommand(MenuItemClicked);                            
        

        private void MenuItemClicked()
        
            //do something when clicked
        

4 - 将菜单项的 Click-Event 绑定到视图中的命令(参见 i:...-tag)

<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>

当我知道点击菜单项时

【讨论】:

以上是关于将 Ui 事件绑定到 UWP 中的命令 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

UWP 绑定到 MVVM 中的 AutoSuggestBox

UWP 数据绑定:如何将按钮命令设置为 DataTemplate 中的父 DataContext

Windows-10 UWP 将图像 url 绑定到 ListView 中的图像源

无法将 CalendarDatePicker 绑定到 Xaml UWP 中的模型

UWP Xaml文本块数据绑定 - 即使属性已更新,UI也不会更新

从代码绑定到 WinRT/UWP 中的自定义附加属性