绑定wpf listview后选择所有项目

时间:2009-03-29 19:34:55

标签: wpf xaml mvvm binding

我有以下XAML:

<ListView x:Name="debitOrderItems" ItemsSource="{Binding DebitOrderItems}">
  <ListView.ItemTemplate>
    <DataTemplate>
      <CheckBox x:Name="checkbox" Content="{Binding}" IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}" />
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

绑定项目列表工作正常,我得到一个漂亮的列表视图与复选框,但我想立即选择它们。 ListView上有一个SelectAll()方法,但什么时候可以调用它? DataContextChanged不能正常工作,因为我在它上面插入了DebitOrderItems之前将其链接起来。

1 个答案:

答案 0 :(得分:3)

您可以在Loaded事件中执行此操作:

public Window()
{
    InitializeComponent();
    Loaded += delegate
    {
        _listView.SelectAll();
    };
}

那就是说,我会质疑你的设计。通常,您将拥有列表中每个项目的视图模型,并且您将IsChecked属性绑定到该视图模型上的属性。