ListView.ContainerFromItem devuelve nulo después de agregar un nuevo elemento en la tienda de Windows 8.1 XAML

Tengo un ListView simple sin plantilla de elemento y la configuración del evento SelectionChanged:

    <ListView x:Name="list1" HorizontalAlignment="Left"
              Height="556"
              Margin="209,93,0,0"
              VerticalAlignment="Top"
              Width="1033"
              SelectionChanged="list1_SelectionChanged" />

    private void list1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {            
        var container = (sender as ListView).ContainerFromItem(e.AddedItems.First());
        var presenter = VisualTreeHelper.GetChild(container, 0);            
    }

También tengo una clase de prueba de la siguiente manera:

class Test
{
    public string FirstName { get; set; }
    public string Surname { get; set; }
}

Ahora, en el constructor de la página, tengo el siguiente código que crea una colección ObservableCollection de los elementos de prueba, agrega algunos y luego los configura como ItemSource de ListView:

ObservableCollection<Test> testCollection;

public MainPage()
{
    this.InitializeComponent();

    testCollection = new ObservableCollection<Test>();
    testCollection.Add(new Test { FirstName = "Bob", Surname = "Smith1" });
    testCollection.Add(new Test { FirstName = "Bob", Surname = "Smith2" });
    testCollection.Add(new Test { FirstName = "Bob", Surname = "Smith3" });

    list1.ItemsSource = testCollection;
}

Ahora, cuando selecciono un elemento en la lista y se activa el evento SelectionChanged, la variable contenedor contiene el ListViewItem como se esperaba.

Ahora, también tengo un botón en el formulario, aquí está el evento de clic de botón:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        testCollection.Add(new Test { FirstName = "Bob", Surname = "Smith4" });

        list1.SelectedIndex = list1.Items.Count - 1;
    }

La última línea selecciona el nuevo elemento y se activa el evento SelectionChanged, pero esta vez la variable contenedor es nula.

¿Alguien puede decirme por qué esto es nulo y cómo puedo solucionarlo?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta