MvxBindableListView を含むメイン ビューがあります。Item テンプレートには、内部に TextViews、ImageView などを含むコンテナとして RelativeLayout があります。
リストにバインドされているデータに基づいて、RelativeLayout の背景色を変更できるようにする必要があります。
それは可能ですか?
MvxBindableListView を含むメイン ビューがあります。Item テンプレートには、内部に TextViews、ImageView などを含むコンテナとして RelativeLayout があります。
リストにバインドされているデータに基づいて、RelativeLayout の背景色を変更できるようにする必要があります。
それは可能ですか?
MvxColorConverters (Color プラグインを使用) を使用して、色を View プロパティに簡単にバインドできます。
たとえば、1 から 10 までのスコアがあると仮定すると、値に応じてテキスト ビューに色を付けることができます。
public class ScoreToColorConverter : MvxBaseColorConverter
{
private static readonly MvxColor RedColor = new MvxColor(0xff, 0x00, 0x00);
private static readonly MvxColor GreenColor = new MvxColor(0x00, 0xff, 0x00);
protected override MvxColor Convert(object value, object parameter, CultureInfo culture)
{
var intValue = (int)value;
return (intValue > 5) ? RedColor : GreenColor;
}
}
このコンバーターは、次のようなビューで使用できます。
<TextView
style="?OurTextViewBodyStyle"
android:textColor="@color/red"
local:MvxBind="{'Text':{'Path':'Score'},'TextColor':{'Path':'Status','Converter':'ScoreToColor'}}" />
View の背景色を設定するには、Background プロパティ自体が読み取り専用であるため、おそらく SetBackgroundColor() メソッドにアクセスする小さなカスタム バインディングを記述する必要があります。