我使用数据绑定。
我有这些课程:
public class Billing
{
public string first_name { get; set; }
public string last_name { get; set; }
public string company { get; set; }
public string address_1 { get; set; }
public string address_2 { get; set; }
public string city { get; set; }
public string state { get; set; }
public string postcode { get; set; }
public string country { get; set; }
public string email { get; set; }
public string phone { get; set; }
}
public class Shipping
{
public string first_name { get; set; }
public string last_name { get; set; }
public string company { get; set; }
public string address_1 { get; set; }
public string address_2 { get; set; }
public string city { get; set; }
public string state { get; set; }
public string postcode { get; set; }
public string country { get; set; }
}
public class RootObject
{
public int id { get; set; }
public int parent_id { get; set; }
public string status { get; set; }
public string order_key { get; set; }
public string currency { get; set; }
public string version { get; set; }
public bool prices_include_tax { get; set; }
public string date_created { get; set; }
public string date_modified { get; set; }
public int customer_id { get; set; }
public double discount_total { get; set; }
public double discount_tax { get; set; }
public double shipping_total { get; set; }
public double shipping_tax { get; set; }
public double cart_tax { get; set; }
public double total { get; set; }
public double total_tax { get; set; }
public Billing billing { get; set; }
public Shipping shipping { get; set; }
public string payment_method { get; set; }
public string payment_method_title { get; set; }
public string transaction_id { get; set; }
public string customer_ip_address { get; set; }
public string customer_user_agent { get; set; }
public string created_via { get; set; }
public string customer_note { get; set; }
public string date_completed { get; set; }
public string date_paid { get; set; }
public string cart_hash { get; set; }
public List<object> line_items { get; set; }
public List<object> tax_lines { get; set; }
public List<object> shipping_lines { get; set; }
public List<object> fee_lines { get; set; }
public List<object> coupon_lines { get; set; }
}
我尝试使用这样的数据绑定:
RestAPI rest = new RestAPI("http://simplegames.com.ua/wp-json/wc/v1/", "ck_9d64c027d2c5f81b8bed3342eeccc6d337be813d", "cs_60697b1e6cbdeb8d62d19e0765e339f8e3334754");
WCObject wc = new WCObject(rest);
//Get all products
var orders = await wc.GetOrders(new Dictionary<string, string>() {
{ "per_page", "100" }});
string products = orders.ToFormattedJsonString();
List<RootObject> rootObjectData = JsonConvert.DeserializeObject<List<RootObject>>(products);
foreach (RootObject root in rootObjectData)
{
string date = root.date_created;
string name = root.billing.first_name + root.billing.last_name;
Orders = new ObservableCollection<RootObject> { new RootObject { date_created = date, billing = name },
};
OrdersGridView.ItemsSource = rootObjectData;
}
}
我需要绑定名称,但它在Billing类中。我怎么能这样做?
据我所知,我需要从Billing
接收数据我尝试使用billing = name
,但我有这个错误
错误CS0029无法隐式转换类型&#39; string&#39;到米兰.InWork.Billing&#39;
这是我的xaml:
<GridView x:Name="OrdersGridView" >
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding date_created}" Foreground="#FFFFFDFD" />
<TextBlock Text="{Binding billing}"/>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
非常感谢你的帮助!
答案 0 :(得分:1)
我在name
课程中找不到Bill
属性,我认为你真正想要绑定的是该帐单的first_name
和last_name
属性。
对于绑定这些内容,只需使用<TextBlock Text="{Binding billing.first_name}"/>
代替billing=name
,就可以了。
bill
是绑定到rootObjectData
的{{1}}的子集合,我们无法直接将集合绑定到GridView
,我们需要获取其中一个TextBlock
符号集合中的属性。
有关uwp中数据绑定的更多详细信息,请参阅this documents。顺便说一下,我看过这个帖子中的注释,WPF中的数据绑定与uwp不完全相同,请参考上面的文档以便进一步学习,你也可以下载official sample进行进一步的测试。