在 MVVMLight 中,你可以通过以下步骤来实现 ListView 点击按钮后进行筛选:

  1. 首先,在你的 ViewModel 中创建一个属性来存储 ListView 的数据源,例如'ObservableCollection Items',其中'Item' 是 ListView 中每个项的数据模型。

  2. 在 ViewModel 中创建一个命令,用于处理按钮的点击事件。例如,你可以使用'RelayCommand' 来定义一个名为'FilterCommand' 的命令。

public RelayCommand FilterCommand { get; private set; }
  1. 在 ViewModel 的构造函数中初始化'FilterCommand',并指定处理方法。
FilterCommand = new RelayCommand(FilterItems);
  1. 在'FilterItems' 方法中实现筛选逻辑。你可以根据自己的需求来筛选'Items' 中的数据,并将筛选后的结果存储在另一个属性中,例如'ObservableCollection FilteredItems'。
private void FilterItems()
{
    // 筛选逻辑
    FilteredItems = new ObservableCollection<Item>(Items.Where(i => i.SomeProperty == someValue));
}
  1. 在 XAML 中,将'Items' 绑定到 ListView 的'ItemsSource' 属性上。
<ListView ItemsSource="{Binding Items}">
    <!-- ListView 的模板 -->
</ListView>
  1. 将按钮的'Command' 属性绑定到'FilterCommand'。
<Button Content="Filter" Command="{Binding FilterCommand}" />
  1. 同样,在 XAML 中将'FilteredItems' 绑定到另一个 ListView 的'ItemsSource' 属性上,用于显示筛选后的数据。
<ListView ItemsSource="{Binding FilteredItems}">
    <!-- ListView 的模板 -->
</ListView>

这样,当你点击按钮时,'FilterCommand' 将会被执行,'FilterItems' 方法将根据筛选逻辑更新'FilteredItems',从而刷新筛选后的 ListView。

MVVMLight ListView 点击按钮筛选内容教程

原文地址: https://www.cveoy.top/t/topic/qtuh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录