1

我有以下 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 之前链接它。

4

1 回答 1

4

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

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

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

于 2009-03-29T20:35:42.930 回答