【发布时间】:2017-03-17 12:13:15
【问题描述】:
我在 Android 中创建了 MvxListView。我将它绑定到 ObservableCollection。
一切正常。甚至 SelectedItem 命令也能正确触发。问题是当我在每个项目中添加按钮时。
我的列表包含带有按钮的图像,可以相互删除。
有item_photo.axml
<LinearLayout
android:id="@+id/titleLinearLayout"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="@color/icons"
android:orientation="horizontal">
<TextView
android:id="@+id/DepartureDateTitleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
local:MvxBind="Text Comment"
android:textColor="@color/primary"
android:textSize="17dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
local:MvxBind="Bitmap NativeReference, Converter=ObjectToBitmap, FallbackValue=''"/>
</LinearLayout>
<LinearLayout
android:id="@+id/titleLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/icons"
android:orientation="horizontal">
<Button
android:id="@+id/PriceTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Remove"
android:textColor="@color/accent"
android:textSize="17dp"
local:MvxBind="Click RemoveCommand" />
</LinearLayout>
这真的很奇怪,因为 Photo 和 Comment 属性是绑定的。
public MvxCommand RemoveCommand { get; set; }
但是 RemoveCommand 不会触发。有什么想法吗?
编辑:
当我将 Command 添加到我的模型时,它的工作原理就是属性绑定的原因。那么我怎样才能在 ViewModel 而不是 Model 中实现事件呢?
在 XAML 中我可以绑定祖先的数据上下文,那里有可能吗?
【问题讨论】:
标签: c# android xamarin mvvmcross