私が作業しているxamarin.forms androidプロジェクトでは、ListViewに表示するオブジェクトのリストがあります。オブジェクトはClassAに基づいています:条件付きでTextCell Detail属性をバインドする方法は?
public class ClassA
{
public Guid Id { get; set; }
public string Name { get; set; }
public List<ClassB> Types { get; set; }
}
ClassBオブジェクトのリストに注意してください。 ClassBのは、次のようになります。
public class ClassB
{
public string Type { get; set; }
public int Count { get; set; }
}
私はこの部分的にこのように、XAMLを使用して作業:
<TextCell Text="{Binding Name}" Detail="{Binding Types[0].Count }" Tapped="Cell_OnTapped" />
問題の詳細属性の結合は値に応じて、行ごとに変更する必要があるということですClassA.ClassB.Typeプロパティの値。例えば。 Types[0].Count > 0
場合、TextCellは、詳細属性の結合は次のようになります。
Types[0].Count
Types[0].Count > 0
とTypes[1].Count > 0
場合、TextCellは、詳細属性の結合は次のようになります。
"type 1 count: " + Types[0].Count + "type 2: count: " Types[1].Count
注3以上が決してしないことをClassA.Typesのアイテム。また、ClassB.Countの値はすべて事前に計算されます。
xamarin.formsをAndroid用に使用するにはどうすればよいでしょうか?
あなたは、読み取り専用のプロパティを作成してそれにバインドし、プロパティ付きの条件付きロジックを配置することができます – Jason
私はあなたがValueConverterを使用し、タイプを渡してからあなたの文字列を返すことができると思います –
値コンバーターにBindingContextを渡して、ジョブを完了させます。 – Dilmah