2016-06-09 9 views
0

Ich habe Probleme beim Binden der Objekte, die ich von einer bestimmten Website erhielt, ich habe die erforderlichen Modelle erstellt und überprüft, dass die Informationen korrekt sind, so dass ich meine Informationen bekomme, das Problem ist das Ich versuche, ein Gitter mit bestimmten Informationen zu machen, und ich bin nicht in der Lage, es mit der Bindungsfunktion zu verarbeiten, scheint nichts zu zeigen. Kontext: Ich mache eine mobile App mit Xamarin, ich verwende auch REST, um bestimmte Informationen zu erhaltenProbleme mit der Bindung von Objekten

Transactions.TransactionList transactionmade = JsonConvert.DeserializeObject<Transactions.TransactionList>(result); 

// verwendet hier Informationen kein Problem

zu erhalten

auch kein Problem, wenn ich eine einfache foreach tun, zeigt es die Informationen, die ich

foreach (var item in transactionmade.transactions) 
    { 
    Debug.WriteLine("id=={0} .. holder=={1} .. value=={2}", 
       item.id, item.counterparty.holder.name, item.details.value.amount); 
    } 

// Probleme hier in der Bindung müssen, wo ich 2nd und 3rd Level Informationen zugreifen müssen, nicht alle der Code ist hier, aber ich denke, es ist leicht zu verstehen, dass diese innerhalb des validtemplate fuction ist, dass ich

erstellt
idLabelholder.SetBinding(Label.TextProperty, "account: {id}"); 

dateofCompletionLabel.SetBinding(Label.TextProperty, "details: {completed }; 

amountLabel.SetBinding(Label.TextProperty, "details: {value: {amount }}"); 

balanceLabel.SetBinding(Label.TextProperty, "details: {new_balance: {amount }}");  

dies das Modell

verwendeten
public class Holder 
    { 
     public string name { get; set; } 
     public bool is_alias { get; set; } 
    } 

    public class Bank 
    { 
     public string national_identifier { get; set; } 
     public string name { get; set; } 
    } 

    public class Account 
    { 
     public string id { get; set; } 
     public List<Holder> holders { get; set; } 
     public string number { get; set; } 
     public object kind { get; set; } 
     public object IBAN { get; set; } 
     public object swift_bic { get; set; } 
     public Bank bank { get; set; } 
    } 

    public class Holder2 
    { 
     public string name { get; set; } 
    } 

    public class Bank2 
    { 
     public string national_identifier { get; set; } 
     public string name { get; set; } 
    } 

    public class Counterparty 
    { 
     public string id { get; set; } 
     public Holder2 holder { get; set; } 
     public string number { get; set; } 
     public object kind { get; set; } 
     public object IBAN { get; set; } 
     public object swift_bic { get; set; } 
     public Bank2 bank { get; set; } 
    } 

    public class NewBalance 
    { 
     public string currency { get; set; } 
     public string amount { get; set; } 
    } 

    public class Value 
    { 
     public string currency { get; set; } 
     public string amount { get; set; } 
    } 

    public class Details 
    { 
     public string type { get; set; } 
     public string description { get; set; } 
     public string posted { get; set; } 
     public string completed { get; set; } 
     public NewBalance new_balance { get; set; } 
     public Value value { get; set; } 
    } 

    public class Transaction 
    { 
     public string id { get; set; } 
     public Account account { get; set; } 
     public Counterparty counterparty { get; set; } 
     public Details details { get; set; } 
    } 

    public class TransactionList 
    { 
     public List<Transaction> transactions { get; set; } 
    } 

und hier ist ein einfaches Beispiel für die Informationen

erhielt
{ 
"transactions": [ 
{ 
    "id": "065bf1e2-c39c-49b9-98ca-2604db647284", 
    "account": { 
    "id": "somebodymillionaire", 
    "holders": [ 
     { 
     "name": "somebody1", 
     "is_alias": false 
     } 
    ], 
    "number": "8585757136", 
    "kind": null, 
    "IBAN": null, 
    "swift_bic": null, 
    "bank": { 
     "national_identifier": "rbs", 
     "name": "The Royal Bank of Scotland" 
    } 
    }, 
    "counterparty": { 
    "id": "f39f20a3-15ff-475e-b654-d377df58ee5d", 
    "holder": { 
     "name": "somebodycounter" 
    }, 
    "number": "8964202115", 
    "kind": null, 
    "IBAN": null, 
    "swift_bic": null, 
    "bank": { 
     "national_identifier": "rbs", 
     "name": "The Royal Bank of Scotland" 
    } 
    }, 
    "details": { 
    "type": "sandbox-payment", 
    "description": "im a millionaire", 
    "posted": "2016-06-07T20:36:40Z", 
    "completed": "2016-06-07T20:36:40Z", 
    "new_balance": { 
     "currency": "EUR", 
     "amount": "9449.47" 
    }, 
    "value": { 
     "currency": "EUR", 
     "amount": "-550.53" 
    } 
    } 
}]} 

Die Informationen, die jetzt gezeigt werden

App.Models.Transactions+Transaction 

ich weiß, dass dies die Antwort von der Listenansicht ist, dass ich geschaffen hatte, aber wie kann ich die verbindlichen Aufkleber zeigen, die ich gemacht habe, um die gebetenen Informationen über die anderen Tiers in dieser Liste zu sehen Die meisten Beispiele, die draußen dort sind von Tier 1 json Listen sind, wie kann ich die Informationen der anderen tiers

erhalten

Was mache ich falsch? Vielen Dank in Advanced :)

Antwort

0

Derzeit glaube ich nicht, dass Forms die Bindung unterstützt, die eine Variable mit festem Text kombiniert.

+0

Danke Jason für die schnelle Antwort, aber es scheint immer noch nicht zu funktionieren, gibt es einen anderen Ansatz für diese Lösung, anstatt verbindlich zu verwenden –

Verwandte Themen