C# Xamarin表单:来自viewmodel的命令绑定
简单地说,我得到了一个以xamarin形式显示其viewmodel的页面,但我无法使其工作 以下是viewmodel中的相关部分:C# Xamarin表单:来自viewmodel的命令绑定,c#,xamarin.forms,C#,Xamarin.forms,简单地说,我得到了一个以xamarin形式显示其viewmodel的页面,但我无法使其工作 以下是viewmodel中的相关部分: public EntranceMenuViewModel(INavigation navigation) { Navigation = navigation; Title = "Entrées"; btnInventoryCommand = new Command(async () =&g
public EntranceMenuViewModel(INavigation navigation)
{
Navigation = navigation;
Title = "Entrées";
btnInventoryCommand = new Command(async () => await btnInventoryCommandExe());
btnMoveGoodsCommand = new Command(async () => await btnMoveGoodsCommandExe());
}
ICommand btnInventoryCommand { get; set; }
ICommand btnMoveGoodsCommand { get; set; }
async Task btnInventoryCommandExe()
{
await Navigation.PushAsync(new Inv2Page());
}
async Task btnMoveGoodsCommandExe()
{
await Navigation.PushAsync(new Inv2Page(true));
}
页面中的相关CS:
EntranceMenuViewModel viewModel;
public EntranceMenuPage()
{
InitializeComponent();
BindingContext = viewModel = new EntranceMenuViewModel(Navigation);
}
最后是相关的Xaml
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Button Grid.Column="0" Text="{Binding test}" Command="{Binding btnInventoryCommand}"></Button>
<Button Grid.Column="1" Text="Move Goods" Command="{Binding btnMoveGoodsCommand}"></Button>
</Grid>
它确实绑定,因为文本绑定正在工作。我仔细检查了名字,没有发现任何问题。我觉得我错过了一些基本的东西,但在看了两遍我的教程视频后,我不明白。我试着把断路器放在函数中,它似乎没有进入它们
感谢您的帮助公开这些命令。默认情况下,它们是私有的,xaml实际上无法“看到”它们以执行它们
public ICommand btnInventoryCommand{get;set;}
公共ICommand btnMoveGoodsCommand{get;set;}