我有一个包含 ObservableCollection 的 ViewModel LocationViewModel
。这些显示为网格中的图块。当单击网格中的图块时,每个都LocationViewModel
存储一个LocationId
作为参数传递的参数。单击项目时调用的 MvxCommand 如下所示:
// Constructor
public MainViewModel()
{
LocationSelectedCommand = new MvxCommand<string>(OnLocationSelected);
}
// MvxCommand calls this
private void OnLocationSelected(string locationId)
{
// Open a new window using 'locationId' parameter
}
所有这些都可以在 WPF 中正常工作。我可以将其绑定LocationId
为CommandParameter
.
<view:LocationTileView
Content="{Binding }"
Command="{Binding ElementName=groupView, Path=DataContext.LocationSelectedCommand}"
CommandParameter="{Binding LocationId}"
/>
Android中是否有用于传递参数的等效语法?这不起作用,但我正在寻找类似于 MvxBind 行中的内容:
<Mvx.MvxGridView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:numColumns="5"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
local:MvxBind="ItemClick LocationSelectedCommand=LocationId; ItemsSource LocationViewModels"
local:MvxItemTemplate="@layout/locationtileview" />