Я пытаюсь установить флажок в моем ListView:
Grid specialGrid = (Grid) listView1.ContainerFromIndex(index);
CheckBox specialBox = (CheckBox) specialGrid.FindName("Special");
specialBox.IsChecked = true;
<ListView x:Name="listView1">
<ListView.ItemTemplate>
<DataTemplate x:DataType="x:String">
<Grid x:Name="LineW">
<CheckBox x:Name="Special" Grid.Column="1" Checked="Special_Checked" Unchecked="Special_Unchecked"/>
Это важно для моего ListView.Но вызов ContainerFromIndex () возвращает ноль, хотя элемент существует (конечно, если я устраню причину сбоя), я не понимаю, что происходит не так.Я пытался вызвать
int number = listView1.Items.Count;
до этого, и по какой-то причине он возвращает 0. Но я действительно добавил контент в ObservableCollection, и если я удаляю код, вызывающий сбой, он отображается правильно.
Редактировать: Я экспериментировал еще немного, и кажется, что представление не отображается в то время, когда я пытаюсь получить к нему доступ.Но если я подожду и добавлю это позже, это может вызвать ошибку, если кто-то нажмет на флажок, прежде чем время закончится.Есть ли способ сделать это сразу после вычисления представления, но до того, как с ним можно взаимодействовать?