WPF 数据绑定(四)

筛选的数据源的绑定,使用Linq Filter Data Collection。从数据集合中筛选符合设定条件的数据对象集合。


UI设计:

设计列表控件,后台将数据源绑定到该控件

<ListBox Name="listProducts" DisplayMemberPath="ModelName" SelectionChanged="listProducts_SelectionChanged"></ListBox>

Grid元素绑定到列表中选择的对象,这样Grid中的其它控件可绑定到选择对象的属性字段

<Grid DataContext="{Binding ElementName=listProducts, Path=SelectedItem}" TextBox.TextChanged="txt_TextChanged">

<TextBox Text="{Binding Path=ModelNumber}"></TextBox>


后台代码设计:

定义一个全局的数据集合

private ICollection products;

依据条件筛选数据集,赋值给变量,再将控件数据源绑定到变量

products = App.StoreDb.GetProductsFilteredWithLinq(decimal.Parse(txtMinimumCost.Text));

listProducts.ItemsSource = products;

其中Linq查询函数如下:

传入的参数是产品的最低价格

public ICollection<Product> GetProductsFilteredWithLinq(decimal minimumCost)

{

            // Get the full list of products.

            ICollection<Product> products = GetProducts();

            // Create a second collection with matching products.

            IEnumerable<Product> matches = from product in products

                                          where product.UnitCost >= minimumCost

                                          select product;

        return new ObservableCollection<Product>(matches.ToList());

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 实现绑定一个对象的集合。在界面添加ListBox控件,指定显示对象的属性值。 在后台代码,获取数据集合源,绑定到L...
    Ritchie_Li阅读 3,593评论 0 0
  • 实现绑定到DataSet对象。 界面设计: 同样创建Grid的绑定,指定到列表元素,选择的Item <Grid D...
    Ritchie_Li阅读 1,441评论 0 0
  • 本例演示如何将数据模型的实例绑定到界面控件。 XAML代码如下: <Page x:Class="WpfApp.Pa...
    Ritchie_Li阅读 1,769评论 0 0
  • 自定义Binding 当为Binding设置了继承System.ComponentModel.INotifyPro...
    李霖弢阅读 5,363评论 0 0
  • Binding是用来实现界面控件的属性与后台数据之间的绑定,通过这种形式将前台界面与后台数据联系在一起达到界面与数...
    Ch_Running阅读 5,890评论 0 1

友情链接更多精彩内容