代码之家  ›  专栏  ›  技术社区  ›  scottyaim

Xamarin窗体、棱柱体和工具栏项?

  •  0
  • scottyaim  · 技术社区  · 6 年前

    嗨,我正在使用最新版本开发一个非常简单的xamarin应用程序 prism和dryioc的。我正在根据客户端的规范构建应用程序 真正想使用工具栏项的人。

    然而,我从未将它们与mvvm模式结合使用,我很难找到一种优雅的方式来将所有内容绑定在一起,而无需“黑客”和快速修复。

    我从某处听说ToolbarItems页面属性是可绑定的,但我已经尝试了多次,但都没有成功。

    有没有办法从viewmodel绑定ToolbarItems? 提前谢谢。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Ali123    6 年前

    我以前没有使用这个“dryioc”,但它很容易绑定工具栏项。

    首先,根据您所在的页面类型添加XAML:

     <ContentPage.ToolbarItems>
        <ToolbarItem Name="Cart" Command="{Binding GoToCartCommand}" Icon="Icons/cart.png">
        </ToolbarItem>
    </ContentPage.ToolbarItems>
    

    之后,在视图模型中,添加以下两个命令:

    Command _goToCartCommand;
    
        public Command GoToCartCommand
        {
            get { return _goToCartCommand; }
            protected set { _goToCartCommand = value; }
        }
    

    注意,我们在XAML中使用了带大号字母的命令 在视图模型的构造函数中初始化命令之后,请注意,您只添加了函数的名称。(您可以通过简单的修改添加参数,但通常不需要):

    _goToCartCommand = new Command(GoToCartClicked);
    

    最后,添加您的函数:

     async void GoToCartClicked()
        {
            await _pageDialogService.DisplayAlertAsync("Confirmation", "You are going to the cart page.", "OK");
    
        }