组合框选择更改时更新标签

时间:2015-08-18 14:23:19

标签: c# xaml binding combobox

我正在尝试更改组合框选择时更新标签,以便它显示查询中的计数。除非我指定了一个字符串where子句,它不会让我使用combobox.SelectedValue中的值,它返回一个零。

where (o.ShipCountry == "USA")

我一直在努力:

private void cmbCountry_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        var ord = (from o in db.Orders
                   where (o.ShipCountry == cmbCountry.SelectedValuePath)
                   select o.ShipCountry).Count();

        lblOrders.Content = ord;
    }

这是一个帮助的问题屏幕。零应该是组合框指定的特定国家/地区的所有订单的计数。enter image description here

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我实际上意识到了我的问题! 我用来填充ComboBox的LINQ查询使用匿名类型来引用所选的列。我把它命名为“cc”。

var cmb = (from c in db.Customers
                   orderby c.Country descending
                   select new { cc = c.Country }).Distinct();

这意味着绑定路径为Binding Path=SelectedValue.cc

var cmb = (from c in db.Customers
               orderby c.Country descending
               select c.Country).Distinct();

通过删除匿名类型,我可以访问组合框的SelectedValue。