我正在使用最新版本开发一个非常简单的xamarin应用程序 棱镜和干燥。我正在按照客户的规格构建应用程序 谁真的想使用工具栏项目。
然而,我从来没有将它们与mvvm模式一起使用,而且我很难找到一种优雅的方式将所有内容绑定在一起而不需要“黑客”和快速修复。
我从某个地方听说ToolbarItems页面属性是可绑定的,但我已多次尝试但没有成功。
有没有办法从viewmodel绑定ToolbarItems? 提前致谢。
答案 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");
}