Xamarin表单,棱镜和工具栏项目?

时间:2018-04-03 21:15:46

标签: c# xaml xamarin xamarin.forms prism

我正在使用最新版本开发一个非常简单的xamarin应用程序 棱镜和干燥。我正在按照客户的规格构建应用程序 谁真的想使用工具栏项目。

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

我从某个地方听说ToolbarItems页面属性是可绑定的,但我已多次尝试但没有成功。

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

1 个答案:

答案 0 :(得分:0)

之前我没有使用过这个“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");

    }