我有一个动态列表,它是 TestClass testClass = new TestClass();
Variable<string> resultValue = new Variable<string>();
return new Sequence()
{
Variables = { resultValue },
Activities = {
new WriteLine() {Text = "... Invoke void Method()"},
new InvokeMethod() { TargetObject = new InArgument<TestClass> (aec=>testClass),
MethodName = "Method", },
的来源。
我在ListView
中有一个命令,我需要在那里收到被点击的项目。我想获得代表该项目的对象,因此我可以对其进行更改。
我正在使用MvvmCross。
答案 0 :(得分:1)
这是相当微不足道的。我想你的布局中有ListView
,看起来像是:
<Mvx.MvxListView
...
local:MvxBind="ItemsSource Items" />
为了能够获得点击的项目,您只需向ItemClick
添加命令:
<Mvx.MvxListView
...
local:MvxBind="ItemsSource Items; ItemClick ItemClickedCommand" />
然后在您的ViewModel
中,您应该有一个ItemClickedCommand
:
private MvxCommand<ItemViewModel> _itemClickedCommand;
public ICommand ItemClickedCommand
{
get
{
return _itemClickedCommand = _itemClickedCommand ??
new MvxCommand<ItemViewModel>(item => {
// do something with the item here
}):
}
}
ItemViewModel
是您绑定到ItemsSource
的集合中项目的类型。