更改MvxItemTemplate的背景颜色?

时间:2017-07-28 15:06:25

标签: xamarin mvvmcross itemtemplate

如何更改MvxItemTemplate的背景颜色?

我可以更改MvxListView的背景,但这会更改所有元素的背景。

以下是相关代码:

<MvvmCross.Binding.Droid.Views.MvxListView
        android:id="@+id/favoritesList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        local:MvxItemTemplate="@layout/template_screen"
        local:MvxBind="ItemsSource FavoritesGroupedList; ItemClick ScreenSelectedCommand; ItemLongClick ShowUnFavoriteCommand" />

如果我将BackgroundColor BlackOrBlueColor(IsUnFavorite)放在本地:ListView的MvxBind中,它可以正常工作。我试图将Binding放在我的模板中:

?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TextView
        android:id="@+id/screenIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="10dp"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp"
        local:MvxBind="BackgroundColor BlackOrBlueColor(IsUnFavorite)"/>
    <TextView
        android:id="@+id/screenText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp" />
</LinearLayout>

但它不起作用。

1 个答案:

答案 0 :(得分:2)

您无法更改MvxItemTemplate背景颜色,但可以更改项目模板中根布局的背景颜色:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    local:MvxBind="BackgroundColor BlackOrBlueColor(IsUnFavorite)">